Annotation of mstools/h/math.h, revision 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.