From c34fbb383167840d556cf444c51fb4636f558d30 Mon Sep 17 00:00:00 2001 From: ceriel Date: Fri, 22 Jul 1988 16:59:22 +0000 Subject: [PATCH] Added math.h --- include/_tail_cc/.distr | 1 + include/_tail_cc/math.h | 74 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 include/_tail_cc/math.h diff --git a/include/_tail_cc/.distr b/include/_tail_cc/.distr index e72c5d96e..d2a5d58a1 100644 --- a/include/_tail_cc/.distr +++ b/include/_tail_cc/.distr @@ -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 index 000000000..d172c1d50 --- /dev/null +++ b/include/_tail_cc/math.h @@ -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 -- 2.34.1