Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/***
*math.h - definitions and declarations for math library * * Copyright (c) 1985-1988, Microsoft Corporation. All rights reserved. * *Purpose: * This file contains constant definitions and external subroutine * declarations for the math subroutine library. * [ANSI/System V] * *******************************************************************************/
#ifndef NO_EXT_KEYS /* extensions enabled */
#define _CDECL cdecl
#else /* extensions not enabled */
#define _CDECL
#endif /* NO_EXT_KEYS */
/* definition of exception struct - this struct is passed to the matherr
* routine when a floating point exception is detected */
#ifndef _EXCEPTION_DEFINED
struct exception { int type; /* exception type - see below */ char *name; /* name of function where error occured */ double arg1; /* first argument to function */ double arg2; /* second argument (if any) to function */ double retval; /* value to be returned by function */ } ; #define _EXCEPTION_DEFINED
#endif
/* definition of a complex struct to be used by those who use cabs and
* want type checking on their argument */
#ifndef _COMPLEX_DEFINED
struct complex { double x,y; /* real and imaginary parts */ } ; #define _COMPLEX_DEFINED
#endif
/* Constant definitions for the exception type passed in the exception struct
*/
#define DOMAIN 1 /* argument domain error */
#define SING 2 /* argument singularity */
#define OVERFLOW 3 /* overflow range error */
#define UNDERFLOW 4 /* underflow range error */
#define TLOSS 5 /* total loss of precision */
#define PLOSS 6 /* partial loss of precision */
#define EDOM 33
#define ERANGE 34
/* definitions of HUGE and HUGE_VAL - respectively the XENIX and ANSI names
* for a value returned in case of error by a number of the floating point * math routines */
extern double HUGE; #define HUGE_VAL HUGE
/* function prototypes */
int _CDECL abs(int); double _CDECL acos(double); double _CDECL asin(double); double _CDECL atan(double); double _CDECL atan2(double, double); double _CDECL atof(const char *); double _CDECL cabs(struct complex); double _CDECL ceil(double); double _CDECL cos(double); double _CDECL cosh(double); int _CDECL dieeetomsbin(double *, double *); int _CDECL dmsbintoieee(double *, double *); double _CDECL exp(double); double _CDECL fabs(double); int _CDECL fieeetomsbin(float *, float *); double _CDECL floor(double); double _CDECL fmod(double, double); int _CDECL fmsbintoieee(float *, float *); double _CDECL frexp(double, int *); double _CDECL hypot(double, double); double _CDECL j0(double); double _CDECL j1(double); double _CDECL jn(int, double); long _CDECL labs(long); double _CDECL ldexp(double, int); double _CDECL log(double); double _CDECL log10(double); int _CDECL matherr(struct exception *); double _CDECL modf(double, double *); double _CDECL pow(double, double); double _CDECL sin(double); double _CDECL sinh(double); double _CDECL sqrt(double); double _CDECL tan(double); double _CDECL tanh(double); double _CDECL y0(double); double _CDECL y1(double); double _CDECL yn(int, double);
|