make _PATH_STDPATH include *everything*
[unix-history] / usr / src / include / math.h
... / ...
CommitLineData
1/*
2 * Copyright (c) 1985, 1990 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * %sccs.include.redist.c%
6 *
7 * @(#)math.h 5.10 (Berkeley) %G%
8 */
9
10#ifndef _MATH_H_
11#define _MATH_H_
12
13#if defined(vax) || defined(tahoe) /* DBL_MAX from float.h */
14#define HUGE_VAL 1.701411834604692294E+38
15#else
16#define HUGE_VAL 1e500 /* IEEE: positive infinity */
17#endif
18
19#if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE)
20#if defined(vax) || defined(tahoe)
21/*
22 * HUGE for the VAX and Tahoe converts to the largest possible F-float value.
23 * This implies an understanding of the conversion behavior of atof(3). It
24 * was defined to be the largest float so that overflow didn't occur when it
25 * was assigned to a single precision number. HUGE_VAL is strongly preferred.
26 */
27#define HUGE 1.701411733192644270E+38
28#else
29#define HUGE HUGE_VAL
30#endif
31
32#define M_E 2.7182818284590452354 /* e */
33#define M_LOG2E 1.4426950408889634074 /* log 2e */
34#define M_LOG10E 0.43429448190325182765 /* log 10e */
35#define M_LN2 0.69314718055994530942 /* log e2 */
36#define M_LN10 2.30258509299404568402 /* log e10 */
37#define M_PI 3.14159265358979323846 /* pi */
38#define M_PI_2 1.57079632679489661923 /* pi/2 */
39#define M_PI_4 0.78539816339744830962 /* pi/4 */
40#define M_1_PI 0.31830988618379067154 /* 1/pi */
41#define M_2_PI 0.63661977236758134308 /* 2/pi */
42#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */
43#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */
44#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */
45#endif /* !_ANSI_SOURCE && !_POSIX_SOURCE */
46
47#include <sys/cdefs.h>
48
49__BEGIN_DECLS
50__pure double acos __P((double));
51__pure double asin __P((double));
52__pure double atan __P((double));
53__pure double atan2 __P((double, double));
54__pure double ceil __P((double));
55__pure double cos __P((double));
56__pure double cosh __P((double));
57__pure double exp __P((double));
58__pure double fabs __P((double));
59__pure double floor __P((double));
60__pure double fmod __P((double, double));
61 double frexp __P((double, int *));
62__pure double ldexp __P((double, int));
63__pure double log __P((double));
64__pure double log10 __P((double));
65 double modf __P((double, double *));
66__pure double pow __P((double, double));
67__pure double sin __P((double));
68__pure double sinh __P((double));
69__pure double sqrt __P((double));
70__pure double tan __P((double));
71__pure double tanh __P((double));
72
73#if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE)
74__pure double acosh __P((double));
75__pure double asinh __P((double));
76__pure double atanh __P((double));
77 double cabs(); /* we can't describe cabs()'s argument properly */
78__pure double cbrt __P((double));
79__pure double copysign __P((double, double));
80__pure double drem __P((double, double));
81__pure double erf __P((double));
82__pure double erfc __P((double));
83__pure double expm1 __P((double));
84__pure int finite __P((double));
85__pure double hypot __P((double, double));
86#if defined(vax) || defined(tahoe)
87__pure double infnan __P((int));
88#endif
89__pure int isinf __P((double));
90__pure int isnan __P((double));
91__pure double j0 __P((double));
92__pure double j1 __P((double));
93__pure double jn __P((int, double));
94__pure double lgamma __P((double));
95__pure double log1p __P((double));
96__pure double logb __P((double));
97__pure double rint __P((double));
98__pure double scalb __P((double, int));
99__pure double y0 __P((double));
100__pure double y1 __P((double));
101__pure double yn __P((int, double));
102#endif
103
104__END_DECLS
105
106#endif /* _MATH_H_ */