|
|
1.1 root 1: /* (-lgl
2: * COHERENT Version 3.0
3: * Copyright (c) 1982, 1990 by Mark Williams Company.
4: * All rights reserved. May not be copied without permission.
5: -lgl) */
6: /*
7: * Definitions for math library.
8: */
9: #ifndef MATH_H
10: #define MATH_H
11:
12: #define HUGE_VAL 1e+37 /* Infinity */
13: #define L2HUGE_VAL 127.0 /* log2(infinity) */
14: #define L10P 17 /* log10(precision) */
15: #define L2L2P 6 /* log2(log2(precision)) */
16:
17: /*
18: * Error return values.
19: */
20: #define EBON 0 /* Succesful */
21: #define EDOM 33 /* Domain error */
22: #define ERANGE 34 /* Result too large */
23:
24: /*
25: * Constants.
26: */
27: #define PI 0.31415926535897932e+01
28: #define SQRT2 0.14142135623730950e+01
29: #define LOG2B10 0.30102999566398119e+00
30: #define LOG10BE 0.23025850929940456e+01
31: #define LOG10B2 0.33219280948873623e+01
32: #define LOGEB2 0.14426950408889634e+01
33:
34: /*
35: * Complex variables.
36: */
37: typedef struct cpx {
38: double z_r;
39: double z_i;
40: } CPX;
41:
42: /*
43: * Status from routines.
44: */
45: extern int errno;
46:
47: /*
48: * Internal functions.
49: */
50: double _pol();
51: double _two();
52:
53: /*
54: * Math library functions.
55: */
56: double acos();
57: double asin();
58: double atan();
59: double atan2();
60: double cabs();
61: double ceil();
62: double cos();
63: double cosh();
64: double exp();
65: double fabs();
66: double floor();
67: double hypot();
68: double j0();
69: double j1();
70: double jn();
71: double log();
72: double log10();
73: double pow();
74: double sin();
75: double sinh();
76: double sqrt();
77: double tan();
78: double tanh();
79:
80: /*
81: * C library floating point functions.
82: */
83: double atof();
84: double frexp();
85: double ldexp();
86: double modf();
87:
88: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.