--- mstools/h/math.h 2018/08/09 18:20:28 1.1.1.2 +++ mstools/h/math.h 2018/08/09 18:22:58 1.1.1.4 @@ -1,7 +1,7 @@ /*** *math.h - definitions and declarations for math library * -* Copyright (c) 1985-1992, Microsoft Corporation. All rights reserved. +* Copyright (c) 1985-1993, Microsoft Corporation. All rights reserved. * *Purpose: * This file contains constant definitions and external subroutine @@ -17,12 +17,29 @@ extern "C" { #endif -#ifndef MIPS -#if (_MSC_VER <= 600) -#define __cdecl _cdecl -#endif +/* + * Conditional macro definition for function calling type and variable type + * qualifiers. + */ +#if ( (_MSC_VER >= 800) && (_M_IX86 >= 300) ) + +/* + * Definitions for MS C8-32 (386/486) compiler + */ +#define _CRTAPI1 __cdecl +#define _CRTAPI2 __cdecl + +#else + +/* + * Other compilers (e.g., MIPS) + */ +#define _CRTAPI1 +#define _CRTAPI2 + #endif + /* definition of _exception struct - this struct is passed to the matherr * routine when a floating point exception is detected */ @@ -92,45 +109,40 @@ extern double _HUGE; /* function prototypes */ -int abs(int); -double acos(double); -double asin(double); -double atan(double); -double atan2(double, double); -double atof(const char *); -double _cabs(struct _complex); -double ceil(double); -double cos(double); -double cosh(double); -double exp(double); -double fabs(double); -double floor(double); -double fmod(double, double); -double frexp(double, int *); -double _hypot(double, double); -double _j0(double); -double _j1(double); -double _jn(int, double); -long labs(long); -double ldexp(double, int); -double log(double); -double log10(double); -int _matherr(struct _exception *); -double modf(double, double *); -double pow(double, double); -double sin(double); -double sinh(double); -double sqrt(double); -double tan(double); -double tanh(double); -double _y0(double); -double _y1(double); -double _yn(int, double); - - -#ifdef i386 -#pragma function(acos, asin, atan, atan2, cos, cosh, exp, fmod, log, log10, pow, sin, sinh, sqrt, tan, tanh) -#endif +int _CRTAPI1 abs(int); +double _CRTAPI1 acos(double); +double _CRTAPI1 asin(double); +double _CRTAPI1 atan(double); +double _CRTAPI1 atan2(double, double); +double _CRTAPI1 atof(const char *); +double _CRTAPI1 _cabs(struct _complex); +double _CRTAPI1 ceil(double); +double _CRTAPI1 cos(double); +double _CRTAPI1 cosh(double); +double _CRTAPI1 exp(double); +double _CRTAPI1 fabs(double); +double _CRTAPI1 floor(double); +double _CRTAPI1 fmod(double, double); +double _CRTAPI1 frexp(double, int *); +double _CRTAPI1 _hypot(double, double); +double _CRTAPI1 _j0(double); +double _CRTAPI1 _j1(double); +double _CRTAPI1 _jn(int, double); +long _CRTAPI1 labs(long); +double _CRTAPI1 ldexp(double, int); +double _CRTAPI1 log(double); +double _CRTAPI1 log10(double); +int _CRTAPI1 _matherr(struct _exception *); +double _CRTAPI1 modf(double, double *); +double _CRTAPI1 pow(double, double); +double _CRTAPI1 sin(double); +double _CRTAPI1 sinh(double); +double _CRTAPI1 sqrt(double); +double _CRTAPI1 tan(double); +double _CRTAPI1 tanh(double); +double _CRTAPI1 _y0(double); +double _CRTAPI1 _y1(double); +double _CRTAPI1 _yn(int, double); #if !__STDC__ /* Non-ANSI names for compatibility */