Annotation of mstools/h/math.h, revision 1.1.1.1

1.1       root        1: /***
                      2: *math.h - definitions and declarations for math library
                      3: *
                      4: *      Copyright (c) 1985-1991, Microsoft Corporation. All rights reserved.
                      5: *
                      6: *Purpose:
                      7: *      This file contains constant definitions and external subroutine
                      8: *      declarations for the math subroutine library.
                      9: *      [ANSI/System V]
                     10: *
                     11: ****/
                     12: 
                     13: #ifndef _INC_MATH
                     14: 
                     15: #ifdef __cplusplus
                     16: extern "C" {
                     17: #endif
                     18: 
                     19: 
                     20: #if (_MSC_VER <= 600)
                     21: #define __cdecl _cdecl
                     22: #endif
                     23: 
                     24: /* definition of _exception struct - this struct is passed to the matherr
                     25:  * routine when a floating point exception is detected
                     26:  */
                     27: 
                     28: #ifndef _EXCEPTION_DEFINED
                     29: struct _exception {
                     30:        int type;               /* exception type - see below */
                     31:        char *name;             /* name of function where error occured */
                     32:        double arg1;            /* first argument to function */
                     33:        double arg2;            /* second argument (if any) to function */
                     34:        double retval;          /* value to be returned by function */
                     35:        } ;
                     36: 
                     37: #if !__STDC__
                     38: /* Non-ANSI name for compatibility */
                     39: #define exception _exception
                     40: #endif
                     41: 
                     42: #define _EXCEPTION_DEFINED
                     43: #endif
                     44: 
                     45: 
                     46: /* definition of a _complex struct to be used by those who use cabs and
                     47:  * want type checking on their argument
                     48:  */
                     49: 
                     50: #ifndef _COMPLEX_DEFINED
                     51: struct _complex {
                     52:        double x,y;     /* real and imaginary parts */
                     53:        } ;
                     54: 
                     55: #if !__STDC__
                     56: /* Non-ANSI name for compatibility */
                     57: #define complex _complex
                     58: #endif
                     59: 
                     60: #define _COMPLEX_DEFINED
                     61: #endif
                     62: 
                     63: 
                     64: /* Constant definitions for the exception type passed in the _exception struct
                     65:  */
                     66: 
                     67: #define _DOMAIN        1       /* argument domain error */
                     68: #define _SING          2       /* argument singularity */
                     69: #define _OVERFLOW      3       /* overflow range error */
                     70: #define _UNDERFLOW     4       /* underflow range error */
                     71: #define _TLOSS         5       /* total loss of precision */
                     72: #define _PLOSS         6       /* partial loss of precision */
                     73: 
                     74: #define EDOM           33
                     75: #define ERANGE         34
                     76: 
                     77: 
                     78: /* definitions of _HUGE and HUGE_VAL - respectively the XENIX and ANSI names
                     79:  * for a value returned in case of error by a number of the floating point
                     80:  * math routines
                     81:  */
                     82: 
                     83: extern double _HUGE;
                     84: #define HUGE_VAL _HUGE
                     85: 
                     86: /* function prototypes */
                     87: 
                     88: int    abs(int);
                     89: double acos(double);
                     90: double asin(double);
                     91: double atan(double);
                     92: double atan2(double, double);
                     93: double atof(const char *);
                     94: double _cabs(struct _complex);
                     95: double ceil(double);
                     96: double cos(double);
                     97: double cosh(double);
                     98: int    _dieeetomsbin(double *, double *);
                     99: int    _dmsbintoieee(double *, double *);
                    100: double exp(double);
                    101: double fabs(double);
                    102: int    _fieeetomsbin(float *, float *);
                    103: double floor(double);
                    104: double fmod(double, double);
                    105: int    _fmsbintoieee(float *, float *);
                    106: double frexp(double, int *);
                    107: double _hypot(double, double);
                    108: double _j0(double);
                    109: double _j1(double);
                    110: double _jn(int, double);
                    111: long   labs(long);
                    112: double ldexp(double, int);
                    113: double log(double);
                    114: double log10(double);
                    115: int    _matherr(struct _exception *);
                    116: double modf(double, double *);
                    117: double pow(double, double);
                    118: double sin(double);
                    119: double sinh(double);
                    120: double sqrt(double);
                    121: double tan(double);
                    122: double tanh(double);
                    123: double _y0(double);
                    124: double _y1(double);
                    125: double _yn(int, double);
                    126: 
                    127: 
                    128: #ifdef i386
                    129: #pragma function(acos, asin, atan, atan2, cos, cosh, exp, fmod, log, log10, pow, sin, sinh, sqrt, tan, tanh)
                    130: #endif
                    131: 
                    132: #if !__STDC__
                    133: /* Non-ANSI names for compatibility */
                    134: 
                    135: #define DOMAIN         _DOMAIN
                    136: #define SING           _SING
                    137: #define OVERFLOW       _OVERFLOW
                    138: #define UNDERFLOW      _UNDERFLOW
                    139: #define TLOSS          _TLOSS
                    140: #define PLOSS          _PLOSS
                    141: 
                    142: #define matherr        _matherr
                    143: 
                    144: extern double HUGE;
                    145: 
                    146: #define cabs           _cabs
                    147: #define dieeetomsbin   _dieeetomsbin
                    148: #define dmsbintoieee   _dmsbintoieee
                    149: #define fieeetomsbin   _fieeetomsbin
                    150: #define fmsbintoieee   _fmsbintoieee
                    151: #define hypot          _hypot
                    152: #define j0             _j0
                    153: #define j1             _j1
                    154: #define jn             _jn
                    155: #define matherr        _matherr
                    156: #define y0             _y0
                    157: #define y1             _y1
                    158: #define yn             _yn
                    159: 
                    160: #define cabsl          _cabsl
                    161: #define hypotl         _hypotl
                    162: #endif /* __STDC__ */
                    163: 
                    164: #ifdef __cplusplus
                    165: }
                    166: #endif
                    167: 
                    168: #define _INC_MATH
                    169: #endif /* _INC_MATH */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.