Annotation of os2sdk/include/math.h, revision 1.1

1.1     ! root        1: /***
        !             2: *math.h - definitions and declarations for math library
        !             3: *
        !             4: *   Copyright (c) 1985-1987, 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: 
        !            14: #ifndef NO_EXT_KEYS /* extensions enabled */
        !            15:     #define _CDECL   cdecl
        !            16: #else /* extensions not enabled */
        !            17:     #define _CDECL
        !            18: #endif /* NO_EXT_KEYS */
        !            19: 
        !            20: 
        !            21: /* definition of exception struct - this struct is passed to the matherr
        !            22:  * routine when a floating point exception is detected
        !            23:  */
        !            24: 
        !            25: #ifndef _EXCEPTION_DEFINED
        !            26: struct exception {
        !            27:     int type;           /* exception type - see below */
        !            28:     char *name;         /* name of function where error occured */
        !            29:     double arg1;        /* first argument to function */
        !            30:     double arg2;        /* second argument (if any) to function */
        !            31:     double retval;      /* value to be returned by function */
        !            32:     } ;
        !            33: #define _EXCEPTION_DEFINED
        !            34: #endif
        !            35: 
        !            36: 
        !            37: /* definition of a complex struct to be used by those who use cabs and
        !            38:  * want type checking on their argument
        !            39:  */
        !            40: 
        !            41: #ifndef _COMPLEX_DEFINED
        !            42: struct complex {
        !            43:     double x,y;     /* real and imaginary parts */
        !            44:     } ;
        !            45: #define _COMPLEX_DEFINED
        !            46: #endif
        !            47: 
        !            48: 
        !            49: /* Constant definitions for the exception type passed in the exception struct
        !            50:  */
        !            51: 
        !            52: #define DOMAIN      1   /* argument domain error */
        !            53: #define SING        2   /* argument singularity */
        !            54: #define OVERFLOW    3   /* overflow range error */
        !            55: #define UNDERFLOW   4   /* underflow range error */
        !            56: #define TLOSS       5   /* total loss of precision */
        !            57: #define PLOSS       6   /* partial loss of precision */
        !            58: 
        !            59: #define EDOM        33
        !            60: #define ERANGE      34
        !            61: 
        !            62: 
        !            63: /* definitions of HUGE and HUGE_VAL - respectively the XENIX and ANSI names
        !            64:  * for a value returned in case of error by a number of the floating point
        !            65:  * math routines
        !            66:  */
        !            67: 
        !            68: extern double HUGE;
        !            69: #define HUGE_VAL HUGE
        !            70: 
        !            71: 
        !            72: /* function prototypes */
        !            73: 
        !            74: int _CDECL abs(int);
        !            75: double _CDECL acos(double);
        !            76: double _CDECL asin(double);
        !            77: double _CDECL atan(double);
        !            78: double _CDECL atan2(double, double);
        !            79: double _CDECL atof(const char *);
        !            80: double _CDECL cabs(struct complex);
        !            81: double _CDECL ceil(double);
        !            82: double _CDECL cos(double);
        !            83: double _CDECL cosh(double);
        !            84: int _CDECL dieeetomsbin(double *, double *);
        !            85: int _CDECL dmsbintoieee(double *, double *);
        !            86: double _CDECL exp(double);
        !            87: double _CDECL fabs(double);
        !            88: int _CDECL fieeetomsbin(float *, float *);
        !            89: double _CDECL floor(double);
        !            90: double _CDECL fmod(double, double);
        !            91: int _CDECL fmsbintoieee(float *, float *);
        !            92: double _CDECL frexp(double, int *);
        !            93: double _CDECL hypot(double, double);
        !            94: double _CDECL j0(double);
        !            95: double _CDECL j1(double);
        !            96: double _CDECL jn(int, double);
        !            97: long _CDECL labs(long);
        !            98: double _CDECL ldexp(double, int);
        !            99: double _CDECL log(double);
        !           100: double _CDECL log10(double);
        !           101: int _CDECL matherr(struct exception *);
        !           102: double _CDECL modf(double, double *);
        !           103: double _CDECL pow(double, double);
        !           104: double _CDECL sin(double);
        !           105: double _CDECL sinh(double);
        !           106: double _CDECL sqrt(double);
        !           107: double _CDECL tan(double);
        !           108: double _CDECL tanh(double);
        !           109: double _CDECL y0(double);
        !           110: double _CDECL y1(double);
        !           111: double _CDECL yn(int, double);

unix.superglobalmegacorp.com

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