Added math.h
authorceriel <none@none>
Fri, 22 Jul 1988 16:59:22 +0000 (16:59 +0000)
committerceriel <none@none>
Fri, 22 Jul 1988 16:59:22 +0000 (16:59 +0000)
include/_tail_cc/.distr
include/_tail_cc/math.h [new file with mode: 0644]

index e72c5d9..d2a5d58 100644 (file)
@@ -4,4 +4,5 @@ stdio.h
 assert.h
 termio.h
 varargs.h
+math.h
 sys
diff --git a/include/_tail_cc/math.h b/include/_tail_cc/math.h
new file mode 100644 (file)
index 0000000..d172c1d
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+ * (c) copyright 1988 by the Vrije Universiteit, Amsterdam, The Netherlands.
+ * See the copyright notice in the ACK home directory, in the file "Copyright".
+ */
+
+/* $Header$ */
+
+/* some constants (Hart & Cheney) */
+
+#define M_PI            3.14159265358979323846264338327950288
+#define M_2PI           6.28318530717958647692528676655900576
+#define M_3PI_4                 2.35619449019234492884698253745962716
+#define M_PI_2          1.57079632679489661923132169163975144
+#define M_3PI_8                 1.17809724509617246442349126872981358
+#define M_PI_4          0.78539816339744830961566084581987572
+#define M_PI_8          0.39269908169872415480783042290993786
+#define M_1_PI          0.31830988618379067153776752674502872
+#define M_2_PI          0.63661977236758134307553505349005744
+#define M_4_PI          1.27323954473516268615107010698011488
+#define M_E             2.71828182845904523536028747135266250
+#define M_LOG2E                 1.44269504088896340735992468100189213
+#define M_LOG10E        0.43429448190325182765112891891660508
+#define M_LN2           0.69314718055994530941723212145817657
+#define M_LN10          2.30258509299404568401799145468436421
+#define M_SQRT2                 1.41421356237309504880168872420969808
+#define M_1_SQRT2       0.70710678118654752440084436210484904
+#define M_EULER                 0.57721566490153286060651209008240243
+
+extern double exp(), log(), log10(), pow(), sqrt();
+extern double fabs(), ceil(), floor();
+extern double gamma();
+extern double hypot(), cabs();
+extern double j0(), y0(), j1(), y1(), jn(), yn();
+extern double sin(), asin(), tan(), atan(), atan2(), cos(), acos();
+extern double sinh(), tanh(), cosh();
+
+#define POLYNOM1(x, a) ((a)[1]*(x)+(a)[0])
+#define POLYNOM2(x, a) (POLYNOM1((x),(a)+1)*(x)+(a)[0])
+#define POLYNOM3(x, a) (POLYNOM2((x),(a)+1)*(x)+(a)[0])
+#define POLYNOM4(x, a) (POLYNOM3((x),(a)+1)*(x)+(a)[0])
+#define POLYNOM5(x, a) (POLYNOM4((x),(a)+1)*(x)+(a)[0])
+#define POLYNOM6(x, a) (POLYNOM5((x),(a)+1)*(x)+(a)[0])
+#define POLYNOM7(x, a) (POLYNOM6((x),(a)+1)*(x)+(a)[0])
+#define POLYNOM8(x, a) (POLYNOM7((x),(a)+1)*(x)+(a)[0])
+#define POLYNOM9(x, a) (POLYNOM8((x),(a)+1)*(x)+(a)[0])
+#define POLYNOM10(x, a)        (POLYNOM9((x),(a)+1)*(x)+(a)[0])
+#define POLYNOM11(x, a)        (POLYNOM10((x),(a)+1)*(x)+(a)[0])
+#define POLYNOM12(x, a)        (POLYNOM11((x),(a)+1)*(x)+(a)[0])
+#define POLYNOM13(x, a)        (POLYNOM12((x),(a)+1)*(x)+(a)[0])
+
+#ifdef vax
+#define M_MAX_D                 1.701411834604692293e+38
+#define M_MIN_D                 2.938735877055718770e-39
+#define M_DEXPLEN       8
+#endif
+
+#ifdef pdp
+#define M_MAX_D                 1.701411834604692293e+38
+#define M_MIN_D                 2.938735877055718770e-39
+#define M_DEXPLEN       8
+#endif
+
+#ifndef M_MAX_D
+#define M_MAX_D                 8.988465674311578540e+307
+#define M_MIN_D                 5.562684646268003458e-309
+#define M_DEXPLEN       11
+#endif
+#define M_DMAXEXP       (1 << (M_DEXPLEN - 1) - 1)
+#define M_DMINEXP       (-M_DMAXEXP)
+#define M_LN_MAX_D      (M_LN2 * M_DMAXEXP)
+#define M_LN_MIN_D      (M_LN2 * (M_DMINEXP - 1))
+
+#define HUGE           M_MAX_D
+#define MAXDOUBLE      M_MAX_D