math.h:
/*
* Copyright 07 Feb 1995 Sun Microsystems, Inc. All Rights Reserved.
*/
/* this is part of math.h, edited for use in cs113 */
#ifndef _MATH_H
#define _MATH_H
/* lots omitted here */
/* effects of some #defines have been edited in */
/*
* ANSI/POSIX
*/
extern double acos (double);
extern double asin (double);
extern double atan (double);
extern double atan2 (double, double);
extern double cos (double);
extern double sin (double);
extern double tan (double);
extern double cosh (double);
extern double sinh (double);
extern double tanh (double);
extern double exp (double);
extern double frexp (double, int *);
extern double ldexp (double, int);
extern double log (double);
extern double log10 (double);
extern double modf (double, double *);
extern double pow (double, double);
extern double sqrt (double);
extern double ceil (double);
extern double fabs (double);
extern double floor (double);
extern double fmod (double, double);
#if defined(__EXTENSIONS__) || __STDC__ - 0 == 0 && \
!defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)
/*
* SVID & X/Open
*/
extern double erf (double);
extern double erfc (double);
extern double gamma (double);
extern double hypot (double, double);
extern int isnan (double);
extern double j0 (double);
extern double j1 (double);
extern double jn (int, double);
extern double lgamma (double);
extern double y0 (double);
extern double y1 (double);
extern double yn (int, double);
#if defined(__EXTENSIONS__) || !defined(_XOPEN_SOURCE) || \
defined(_XOPEN_SOURCE) && _XOPEN_SOURCE_EXTENDED - 0 == 1
/*
* SVID & XPG 4.2
*/
extern double acosh (double);
extern double asinh (double);
extern double atanh (double);
extern double cbrt (double);
extern double logb (double);
extern double nextafter (double, double);
extern double remainder (double, double);
extern double scalb (double, double);
/*
* XPG 4.2
*/
extern double expm1 (double);
extern int ilogb (double);
extern double log1p (double);
extern double rint (double);
#endif /* defined(__EXTENSIONS__) || !defined(_XOPEN_SOURCE) || ... */
#if defined(__EXTENSIONS__) || !defined(_XOPEN_SOURCE)
/*
* SVID
*/
extern int matherr (struct exception *);
/*
* IEEE Test Vector
*/
extern double significand (double);
/*
* Functions callable from C, intended to support IEEE arithmetic.
*/
extern double copysign (double, double);
extern double scalbn (double, int);
/*
* Reentrant version of gamma & lgamma; passes signgam back by reference
* as the second argument; user must allocate space for signgam.
*/
#ifdef _REENTRANT
extern double gamma_r (double, int *);
extern double lgamma_r (double, int *);
#endif
/*
* Orphan(s); frexp, ldexp, modf and modff are part of libc nowadays.
*/
extern float modff (float, float *);
#include
#endif /* defined(__EXTENSIONS__) || !defined(_XOPEN_SOURCE) */
#endif /* defined(__EXTENSIONS__) || __STDC__ - 0 == 0 && ... */
#endif /* !defined(_MATH_H) */