Annotation of researchv10dc/630/include/ccs/math.h, revision 1.1

1.1     ! root        1: #ident "@(#)sgs-inc:mc68/math.h        2.3.1.1"
        !             2: #ifndef _POLY9
        !             3: extern int errno, signgam;
        !             4: 
        !             5: extern double atof(), frexp(), ldexp(), modf();
        !             6: extern double j0(), j1(), jn(), y0(), y1(), yn();
        !             7: extern double erf(), erfc();
        !             8: extern double exp(), log(), log10(), pow(), sqrt();
        !             9: extern double floor(), ceil(), fmod(), fabs();
        !            10: extern double gamma();
        !            11: extern double hypot();
        !            12: extern int matherr();
        !            13: extern double sinh(), cosh(), tanh();
        !            14: extern double sin(), cos(), tan(), asin(), acos(), atan(), atan2();
        !            15: 
        !            16: /* some useful constants */
        !            17: #define M_E    2.7182818284590452354
        !            18: #define M_LOG2E        1.4426950408889634074
        !            19: #define M_LOG10E       0.43429448190325182765
        !            20: #define M_LN2  0.69314718055994530942
        !            21: #define M_LN10 2.30258509299404568402
        !            22: #define M_PI   3.14159265358979323846
        !            23: #define M_PI_2 1.57079632679489661923
        !            24: #define M_PI_4 0.78539816339744830962
        !            25: #define M_1_PI 0.31830988618379067154
        !            26: #define M_2_PI 0.63661977236758134308
        !            27: #define M_2_SQRTPI     1.12837916709551257390
        !            28: #define M_SQRT2        1.41421356237309504880
        !            29: #define M_SQRT1_2      0.70710678118654752440
        !            30: #if u3b || u3b5
        !            31: #define MAXFLOAT       ((float)3.40282346638528860e+38)
        !            32: #endif
        !            33: #if mc68000
        !            34: /* This code is an ugly *** C R O C K *** to get around the problems
        !            35: ** of cross-compiling float/double constants.  The constant in question
        !            36: ** is the maximum float/double value.  Since the VAX has a smaller range
        !            37: ** than the MC68000, it cannot convert MAXFLOAT using the native atof().
        !            38: ** What we do here is define a local constant value whose bits are the
        !            39: ** right ones for the MC68000.
        !            40: */
        !            41: 
        !            42: #ifndef        __VALUE_H__
        !            43:     extern double _MaXdOuBlE_;
        !            44:     asm("      data 1");
        !            45:     asm("      even");
        !            46:     asm("_MaXdOuBlE_:");
        !            47:     asm("      long 0x7f7fffff");
        !            48: #define __VALUE_H__            /* just do it once */
        !            49: #endif
        !            50: #define        MAXFLOAT        _MaXdOuBlE_
        !            51: #endif
        !            52: #if pdp11 || vax
        !            53: #define MAXFLOAT       ((float)1.701411733192644299e+38)
        !            54: #endif
        !            55: #if gcos
        !            56: #define MAXFLOAT       ((float)1.7014118219281863150e+38)
        !            57: #endif
        !            58: #define HUGE   MAXFLOAT
        !            59: 
        !            60: #define _ABS(x)        ((x) < 0 ? -(x) : (x))
        !            61: #define _REDUCE(TYPE, X, XN, C1, C2)   { \
        !            62:        double x1 = (double)(TYPE)X, x2 = X - x1; \
        !            63:        X = x1 - (XN) * (C1); X += x2; X -= (XN) * (C2); }
        !            64: #define _POLY1(x, c)   ((c)[0] * (x) + (c)[1])
        !            65: #define _POLY2(x, c)   (_POLY1((x), (c)) * (x) + (c)[2])
        !            66: #define _POLY3(x, c)   (_POLY2((x), (c)) * (x) + (c)[3])
        !            67: #define _POLY4(x, c)   (_POLY3((x), (c)) * (x) + (c)[4])
        !            68: #define _POLY5(x, c)   (_POLY4((x), (c)) * (x) + (c)[5])
        !            69: #define _POLY6(x, c)   (_POLY5((x), (c)) * (x) + (c)[6])
        !            70: #define _POLY7(x, c)   (_POLY6((x), (c)) * (x) + (c)[7])
        !            71: #define _POLY8(x, c)   (_POLY7((x), (c)) * (x) + (c)[8])
        !            72: #define _POLY9(x, c)   (_POLY8((x), (c)) * (x) + (c)[9])
        !            73: 
        !            74: struct exception {
        !            75:        int type;
        !            76:        char *name;
        !            77:        double arg1;
        !            78:        double arg2;
        !            79:        double retval;
        !            80: };
        !            81: 
        !            82: #define DOMAIN         1
        !            83: #define        SING            2
        !            84: #define        OVERFLOW        3
        !            85: #define        UNDERFLOW       4
        !            86: #define        TLOSS           5
        !            87: #define        PLOSS           6
        !            88: #endif

unix.superglobalmegacorp.com

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