#ifndef __math_h
#define __math_h
#pragma once

/*
 * Libraries and headers for PDC release 3.3 (C) 1989 Lionel Hummel.
 * PDC Software Distribution (C) 1989 Lionel Hummel and Paul Petersen.
 * PDC I/O Library (C) 1987 by J.A. Lydiatt.
 *
 * This code is freely redistributable upon the conditions that this 
 * notice remains intact and that modified versions of this file not
 * be included as part of the PDC Software Distribution without the
 * express consent of the copyright holders.  No warrantee of any
 * kind is provided with this code.  For further information, contact:
 *
 *  PDC Software Distribution    Internet:                     BIX:
 *  P.O. Box 4006             or hummel@cs.uiuc.edu            lhummel
 *  Urbana, IL  61801-8801       petersen@uicsrd.csrd.uiuc.edu
 */

/* math.h - standard C math functions and constants */

#ifndef __sys_stdtypes_h
#include <sys/stdtypes.h>
#endif

/* Standard ANSI C math functions */

_CONST double	acos(double);		/* inverse trig function	*/
_CONST double	asin(double);		/* inverse trig function 	*/
_CONST double	atan(double);		/* inverse trig function	*/
_CONST double	atan2(double, double);	/* inverse trig function 	*/
_CONST double	cos(double);		/* trigonometric function	*/
_CONST double	sin(double);		/* trigonometric function	*/
_CONST double	tan(double);		/* trigonometric function	*/

_CONST double	cosh(double);		/* hyperbolic function		*/
_CONST double	sinh(double);		/* hyperbolic function		*/
_CONST double	tanh(double);		/* hyperbolic function 		*/

_CONST double	exp(double);		/* exponential			*/
double		frexp(double, int *);	/* retrieve the exponent	*/
_CONST double	ldexp(double, int);	/* load the exponent		*/
_CONST double	log(double);		/* natural logarithm		*/
_CONST double	log10(double);		/* logarithm to base 10		*/
double		modf(double, double *);	/* integer and remainder	*/
_CONST double	pow(double, double);	/* exponential x**y		*/
_CONST double	sqrt(double);		/* square root			*/

_CONST double	ceil(double);		/* integer no less than		*/
_CONST double	fabs(double);		/* absolute value		*/
_CONST double	floor(double);		/* integer no greater than	*/
_CONST double	fmod(double, double);	/* remainder			*/

#ifndef __STRICT_ANSI__

/* Non-Standard functions */

_CONST double	acosh(double);		/* inverse hyperbolic function	*/
_CONST double	asinh(double);		/* inverse hyperbolic function	*/
_CONST double	atanh(double);		/* inverse hyperbolic function	*/

_CONST double	rint(double);		/* round to nearest integer	*/
#endif /* __STRICT_ANSI__ */

#if defined __HAVE_68881__ && defined __GNUC__
#include <math-68881.h>
#endif

#endif /* __math_h */
