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) */