From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from yow.a-b.xyz ([45.32.152.219]) by ewsd; Thu Apr 30 22:24:52 EDT 2020 Received: by yow.a-b.xyz (OpenSMTPD) with ESMTPSA id bcf2a662 (TLSv1.2:ECDHE-RSA-AES256-SHA:256:NO) for <9front@9front.org>; Fri, 1 May 2020 04:24:41 +0200 (CEST) Message-ID: <63B81FA0C22B408ECFB176AD0AD944E7@a-b.xyz> To: 9front@9front.org Subject: [PATCH] ape: deduplicate math.h Date: Fri, 1 May 2020 04:24:40 +0200 From: kvik@a-b.xyz MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: extended advanced HTML over HTTP CSS dependency generator # HG changeset patch # User kvik # Date 1588298259 -7200 # Node ID b271122228598529da2213778831288224dea984 # Parent 8006152d13d23a98ab072a4b656af2612baea3aa ape: deduplicate math.h This merges all of /$objtype/include/ape/math.h into /sys/include/ape/math.h. All headers were exactly the same except some didn't implement isnan(x) and isinf(x), or they weren't passing the sign parameter to isInf(d, sign). diff -r 8006152d13d2 -r b27112222859 386/include/ape/math.h --- a/386/include/ape/math.h Tue Apr 28 20:51:19 2020 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ -#ifndef __MATH -#define __MATH -#pragma lib "/$M/lib/ape/libap.a" - -/* a HUGE_VAL appropriate for IEEE double-precision */ -/* the correct value, 1.797693134862316e+308, causes a ken overflow */ -#define HUGE_VAL 1.79769313486231e+308 - -#ifdef __cplusplus -extern "C" { -#endif - -extern double acos(double); -extern double asin(double); -extern double atan(double); -extern double atan2(double, double); -extern double cos(double); -extern double hypot(double, double); -extern double sin(double); -extern double tan(double); -extern double cosh(double); -extern double sinh(double); -extern double tanh(double); -extern double exp(double); -extern double frexp(double, int *); -extern double ldexp(double, int); -extern double log(double); -extern double log10(double); -extern double modf(double, double *); -extern double pow(double, double); -extern double sqrt(double); -extern double ceil(double); -extern double fabs(double); -extern double floor(double); -extern double fmod(double, double); -extern double NaN(void); -extern int isNaN(double); -extern double Inf(int); -extern int isInf(double, int); -extern double fmin(double, double); - -#ifdef _RESEARCH_SOURCE -/* does >> treat left operand as unsigned ? */ -#define Unsigned_Shifts 1 -#define M_E 2.7182818284590452354 /* e */ -#define M_LOG2E 1.4426950408889634074 /* log 2e */ -#define M_LOG10E 0.43429448190325182765 /* log 10e */ -#define M_LN2 0.69314718055994530942 /* log e2 */ -#define M_LN10 2.30258509299404568402 /* log e10 */ -#define M_PI 3.14159265358979323846 /* pi */ -#define M_PI_2 1.57079632679489661923 /* pi/2 */ -#define M_PI_4 0.78539816339744830962 /* pi/4 */ -#define M_1_PI 0.31830988618379067154 /* 1/pi */ -#define M_2_PI 0.63661977236758134308 /* 2/pi */ -#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ -#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ -#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ - -extern double hypot(double, double); -extern double erf(double); -extern double erfc(double); -extern double j0(double); -extern double y0(double); -extern double j1(double); -extern double y1(double); -extern double jn(int, double); -extern double yn(int, double); - -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* __MATH */ diff -r 8006152d13d2 -r b27112222859 68020/include/ape/math.h --- a/68020/include/ape/math.h Tue Apr 28 20:51:19 2020 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -#ifndef __MATH -#define __MATH -#pragma lib "/$M/lib/ape/libap.a" - -/* a HUGE_VAL appropriate for IEEE double-precision */ -/* the correct value, 1.797693134862316e+308, causes a ken overflow */ -#define HUGE_VAL 1.79769313486231e+308 - -#ifdef __cplusplus -extern "C" { -#endif - -extern double acos(double); -extern double asin(double); -extern double atan(double); -extern double atan2(double, double); -extern double cos(double); -extern double hypot(double, double); -extern double sin(double); -extern double tan(double); -extern double cosh(double); -extern double sinh(double); -extern double tanh(double); -extern double exp(double); -extern double frexp(double, int *); -extern double ldexp(double, int); -extern double log(double); -extern double log10(double); -extern double modf(double, double *); -extern double pow(double, double); -extern double sqrt(double); -extern double ceil(double); -extern double fabs(double); -extern double floor(double); -extern double fmod(double, double); -extern double NaN(void); -extern int isNaN(double); -extern double Inf(int); -extern int isInf(double, int); -extern double fmin(double, double); - -#ifdef _RESEARCH_SOURCE -/* does >> treat left operand as unsigned ? */ -#define Unsigned_Shifts 1 -#define M_E 2.7182818284590452354 /* e */ -#define M_LOG2E 1.4426950408889634074 /* log 2e */ -#define M_LOG10E 0.43429448190325182765 /* log 10e */ -#define M_LN2 0.69314718055994530942 /* log e2 */ -#define M_LN10 2.30258509299404568402 /* log e10 */ -#define M_PI 3.14159265358979323846 /* pi */ -#define M_PI_2 1.57079632679489661923 /* pi/2 */ -#define M_PI_4 0.78539816339744830962 /* pi/4 */ -#define M_1_PI 0.31830988618379067154 /* 1/pi */ -#define M_2_PI 0.63661977236758134308 /* 2/pi */ -#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ -#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ -#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ - -extern double hypot(double, double); -extern double erf(double); -extern double erfc(double); -extern double j0(double); -extern double y0(double); -extern double j1(double); -extern double y1(double); -extern double jn(int, double); -extern double yn(int, double); - -#endif - - -#ifdef __cplusplus -} -#endif - -#define isnan(x) isNaN(x) -#define isinf(x) isInf(x) - -#endif /* __MATH */ diff -r 8006152d13d2 -r b27112222859 amd64/include/ape/math.h --- a/amd64/include/ape/math.h Tue Apr 28 20:51:19 2020 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -#ifndef __MATH -#define __MATH -#pragma lib "/$M/lib/ape/libap.a" - -/* a HUGE_VAL appropriate for IEEE double-precision */ -/* the correct value, 1.797693134862316e+308, causes a ken overflow */ -#define HUGE_VAL 1.79769313486231e+308 - -#ifdef __cplusplus -extern "C" { -#endif - -extern double acos(double); -extern double asin(double); -extern double atan(double); -extern double atan2(double, double); -extern double cos(double); -extern double hypot(double, double); -extern double sin(double); -extern double tan(double); -extern double cosh(double); -extern double sinh(double); -extern double tanh(double); -extern double exp(double); -extern double frexp(double, int *); -extern double ldexp(double, int); -extern double log(double); -extern double log10(double); -extern double modf(double, double *); -extern double pow(double, double); -extern double sqrt(double); -extern double ceil(double); -extern double fabs(double); -extern double floor(double); -extern double fmod(double, double); -extern double NaN(void); -extern int isNaN(double); -extern double Inf(int); -extern int isInf(double, int); -extern double fmin(double, double); - -#ifdef _RESEARCH_SOURCE -/* does >> treat left operand as unsigned ? */ -#define Unsigned_Shifts 1 -#define M_E 2.7182818284590452354 /* e */ -#define M_LOG2E 1.4426950408889634074 /* log 2e */ -#define M_LOG10E 0.43429448190325182765 /* log 10e */ -#define M_LN2 0.69314718055994530942 /* log e2 */ -#define M_LN10 2.30258509299404568402 /* log e10 */ -#define M_PI 3.14159265358979323846 /* pi */ -#define M_PI_2 1.57079632679489661923 /* pi/2 */ -#define M_PI_4 0.78539816339744830962 /* pi/4 */ -#define M_1_PI 0.31830988618379067154 /* 1/pi */ -#define M_2_PI 0.63661977236758134308 /* 2/pi */ -#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ -#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ -#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ - -extern double hypot(double, double); -extern double erf(double); -extern double erfc(double); -extern double j0(double); -extern double y0(double); -extern double j1(double); -extern double y1(double); -extern double jn(int, double); -extern double yn(int, double); - -#endif - - -#ifdef __cplusplus -} -#endif - -#define isnan(x) isNaN(x) -#define isinf(x) isInf(x, 0) - -#endif /* __MATH */ diff -r 8006152d13d2 -r b27112222859 arm/include/ape/math.h --- a/arm/include/ape/math.h Tue Apr 28 20:51:19 2020 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -#ifndef __MATH -#define __MATH -#pragma lib "/$M/lib/ape/libap.a" - -/* a HUGE_VAL appropriate for IEEE double-precision */ -/* the correct value, 1.797693134862316e+308, causes a ken overflow */ -#define HUGE_VAL 1.79769313486231e+308 - -#ifdef __cplusplus -extern "C" { -#endif - -extern double acos(double); -extern double asin(double); -extern double atan(double); -extern double atan2(double, double); -extern double cos(double); -extern double hypot(double, double); -extern double sin(double); -extern double tan(double); -extern double cosh(double); -extern double sinh(double); -extern double tanh(double); -extern double exp(double); -extern double frexp(double, int *); -extern double ldexp(double, int); -extern double log(double); -extern double log10(double); -extern double modf(double, double *); -extern double pow(double, double); -extern double sqrt(double); -extern double ceil(double); -extern double fabs(double); -extern double floor(double); -extern double fmod(double, double); -extern double NaN(void); -extern int isNaN(double); -extern double Inf(int); -extern int isInf(double, int); -extern double fmin(double, double); - -#ifdef _RESEARCH_SOURCE -/* does >> treat left operand as unsigned ? */ -#define Unsigned_Shifts 1 -#define M_E 2.7182818284590452354 /* e */ -#define M_LOG2E 1.4426950408889634074 /* log 2e */ -#define M_LOG10E 0.43429448190325182765 /* log 10e */ -#define M_LN2 0.69314718055994530942 /* log e2 */ -#define M_LN10 2.30258509299404568402 /* log e10 */ -#define M_PI 3.14159265358979323846 /* pi */ -#define M_PI_2 1.57079632679489661923 /* pi/2 */ -#define M_PI_4 0.78539816339744830962 /* pi/4 */ -#define M_1_PI 0.31830988618379067154 /* 1/pi */ -#define M_2_PI 0.63661977236758134308 /* 2/pi */ -#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ -#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ -#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ - -extern double hypot(double, double); -extern double erf(double); -extern double erfc(double); -extern double j0(double); -extern double y0(double); -extern double j1(double); -extern double y1(double); -extern double jn(int, double); -extern double yn(int, double); - -#endif - - -#ifdef __cplusplus -} -#endif - -#define isnan(x) isNaN(x) -#define isinf(x) isInf(x) - -#endif /* __MATH */ diff -r 8006152d13d2 -r b27112222859 arm64/include/ape/math.h --- a/arm64/include/ape/math.h Tue Apr 28 20:51:19 2020 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -#ifndef __MATH -#define __MATH -#pragma lib "/$M/lib/ape/libap.a" - -/* a HUGE_VAL appropriate for IEEE double-precision */ -/* the correct value, 1.797693134862316e+308, causes a ken overflow */ -#define HUGE_VAL 1.79769313486231e+308 - -#ifdef __cplusplus -extern "C" { -#endif - -extern double acos(double); -extern double asin(double); -extern double atan(double); -extern double atan2(double, double); -extern double cos(double); -extern double hypot(double, double); -extern double sin(double); -extern double tan(double); -extern double cosh(double); -extern double sinh(double); -extern double tanh(double); -extern double exp(double); -extern double frexp(double, int *); -extern double ldexp(double, int); -extern double log(double); -extern double log10(double); -extern double modf(double, double *); -extern double pow(double, double); -extern double sqrt(double); -extern double ceil(double); -extern double fabs(double); -extern double floor(double); -extern double fmod(double, double); -extern double NaN(void); -extern int isNaN(double); -extern double Inf(int); -extern int isInf(double, int); -extern double fmin(double, double); - -#ifdef _RESEARCH_SOURCE -/* does >> treat left operand as unsigned ? */ -#define Unsigned_Shifts 1 -#define M_E 2.7182818284590452354 /* e */ -#define M_LOG2E 1.4426950408889634074 /* log 2e */ -#define M_LOG10E 0.43429448190325182765 /* log 10e */ -#define M_LN2 0.69314718055994530942 /* log e2 */ -#define M_LN10 2.30258509299404568402 /* log e10 */ -#define M_PI 3.14159265358979323846 /* pi */ -#define M_PI_2 1.57079632679489661923 /* pi/2 */ -#define M_PI_4 0.78539816339744830962 /* pi/4 */ -#define M_1_PI 0.31830988618379067154 /* 1/pi */ -#define M_2_PI 0.63661977236758134308 /* 2/pi */ -#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ -#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ -#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ - -extern double hypot(double, double); -extern double erf(double); -extern double erfc(double); -extern double j0(double); -extern double y0(double); -extern double j1(double); -extern double y1(double); -extern double jn(int, double); -extern double yn(int, double); - -#endif - - -#ifdef __cplusplus -} -#endif - -#define isnan(x) isNaN(x) -#define isinf(x) isInf(x) - -#endif /* __MATH */ diff -r 8006152d13d2 -r b27112222859 mips/include/ape/math.h --- a/mips/include/ape/math.h Tue Apr 28 20:51:19 2020 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -#ifndef __MATH -#define __MATH -#pragma lib "/$M/lib/ape/libap.a" - -/* a HUGE_VAL appropriate for IEEE double-precision */ -/* the correct value, 1.797693134862316e+308, causes a ken overflow */ -#define HUGE_VAL 1.79769313486231e+308 - -#ifdef __cplusplus -extern "C" { -#endif - -extern double acos(double); -extern double asin(double); -extern double atan(double); -extern double atan2(double, double); -extern double cos(double); -extern double hypot(double, double); -extern double sin(double); -extern double tan(double); -extern double cosh(double); -extern double sinh(double); -extern double tanh(double); -extern double exp(double); -extern double frexp(double, int *); -extern double ldexp(double, int); -extern double log(double); -extern double log10(double); -extern double modf(double, double *); -extern double pow(double, double); -extern double sqrt(double); -extern double ceil(double); -extern double fabs(double); -extern double floor(double); -extern double fmod(double, double); -extern double NaN(void); -extern int isNaN(double); -extern double Inf(int); -extern int isInf(double, int); -extern double fmin(double, double); - -#ifdef _RESEARCH_SOURCE -/* does >> treat left operand as unsigned ? */ -#define Unsigned_Shifts 1 -#define M_E 2.7182818284590452354 /* e */ -#define M_LOG2E 1.4426950408889634074 /* log 2e */ -#define M_LOG10E 0.43429448190325182765 /* log 10e */ -#define M_LN2 0.69314718055994530942 /* log e2 */ -#define M_LN10 2.30258509299404568402 /* log e10 */ -#define M_PI 3.14159265358979323846 /* pi */ -#define M_PI_2 1.57079632679489661923 /* pi/2 */ -#define M_PI_4 0.78539816339744830962 /* pi/4 */ -#define M_1_PI 0.31830988618379067154 /* 1/pi */ -#define M_2_PI 0.63661977236758134308 /* 2/pi */ -#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ -#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ -#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ - -extern double hypot(double, double); -extern double erf(double); -extern double erfc(double); -extern double j0(double); -extern double y0(double); -extern double j1(double); -extern double y1(double); -extern double jn(int, double); -extern double yn(int, double); - -#endif - - -#ifdef __cplusplus -} -#endif - -#define isnan(x) isNaN(x) -#define isinf(x) isInf(x) - -#endif /* __MATH */ diff -r 8006152d13d2 -r b27112222859 power/include/ape/math.h --- a/power/include/ape/math.h Tue Apr 28 20:51:19 2020 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -#ifndef __MATH -#define __MATH -#pragma lib "/$M/lib/ape/libap.a" - -/* a HUGE_VAL appropriate for IEEE double-precision */ -/* the correct value, 1.797693134862316e+308, causes a ken overflow */ -#define HUGE_VAL 1.79769313486231e+308 - -#ifdef __cplusplus -extern "C" { -#endif - -extern double acos(double); -extern double asin(double); -extern double atan(double); -extern double atan2(double, double); -extern double cos(double); -extern double hypot(double, double); -extern double sin(double); -extern double tan(double); -extern double cosh(double); -extern double sinh(double); -extern double tanh(double); -extern double exp(double); -extern double frexp(double, int *); -extern double ldexp(double, int); -extern double log(double); -extern double log10(double); -extern double modf(double, double *); -extern double pow(double, double); -extern double sqrt(double); -extern double ceil(double); -extern double fabs(double); -extern double floor(double); -extern double fmod(double, double); -extern double NaN(void); -extern int isNaN(double); -extern double Inf(int); -extern int isInf(double, int); -extern double fmin(double, double); - -#ifdef _RESEARCH_SOURCE -/* does >> treat left operand as unsigned ? */ -#define Unsigned_Shifts 1 -#define M_E 2.7182818284590452354 /* e */ -#define M_LOG2E 1.4426950408889634074 /* log 2e */ -#define M_LOG10E 0.43429448190325182765 /* log 10e */ -#define M_LN2 0.69314718055994530942 /* log e2 */ -#define M_LN10 2.30258509299404568402 /* log e10 */ -#define M_PI 3.14159265358979323846 /* pi */ -#define M_PI_2 1.57079632679489661923 /* pi/2 */ -#define M_PI_4 0.78539816339744830962 /* pi/4 */ -#define M_1_PI 0.31830988618379067154 /* 1/pi */ -#define M_2_PI 0.63661977236758134308 /* 2/pi */ -#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ -#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ -#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ - -extern double hypot(double, double); -extern double erf(double); -extern double erfc(double); -extern double j0(double); -extern double y0(double); -extern double j1(double); -extern double y1(double); -extern double jn(int, double); -extern double yn(int, double); - -#endif - - -#ifdef __cplusplus -} -#endif - -#define isnan(x) isNaN(x) -#define isinf(x) isInf(x) - -#endif /* __MATH */ diff -r 8006152d13d2 -r b27112222859 sparc/include/ape/math.h --- a/sparc/include/ape/math.h Tue Apr 28 20:51:19 2020 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -#ifndef __MATH -#define __MATH -#pragma lib "/$M/lib/ape/libap.a" - -/* a HUGE_VAL appropriate for IEEE double-precision */ -/* the correct value, 1.797693134862316e+308, causes a ken overflow */ -#define HUGE_VAL 1.79769313486231e+308 - -#ifdef __cplusplus -extern "C" { -#endif - -extern double acos(double); -extern double asin(double); -extern double atan(double); -extern double atan2(double, double); -extern double cos(double); -extern double hypot(double, double); -extern double sin(double); -extern double tan(double); -extern double cosh(double); -extern double sinh(double); -extern double tanh(double); -extern double exp(double); -extern double frexp(double, int *); -extern double ldexp(double, int); -extern double log(double); -extern double log10(double); -extern double modf(double, double *); -extern double pow(double, double); -extern double sqrt(double); -extern double ceil(double); -extern double fabs(double); -extern double floor(double); -extern double fmod(double, double); -extern double NaN(void); -extern int isNaN(double); -extern double Inf(int); -extern int isInf(double, int); -extern double fmin(double, double); - -#ifdef _RESEARCH_SOURCE -/* does >> treat left operand as unsigned ? */ -#define Unsigned_Shifts 1 -#define M_E 2.7182818284590452354 /* e */ -#define M_LOG2E 1.4426950408889634074 /* log 2e */ -#define M_LOG10E 0.43429448190325182765 /* log 10e */ -#define M_LN2 0.69314718055994530942 /* log e2 */ -#define M_LN10 2.30258509299404568402 /* log e10 */ -#define M_PI 3.14159265358979323846 /* pi */ -#define M_PI_2 1.57079632679489661923 /* pi/2 */ -#define M_PI_4 0.78539816339744830962 /* pi/4 */ -#define M_1_PI 0.31830988618379067154 /* 1/pi */ -#define M_2_PI 0.63661977236758134308 /* 2/pi */ -#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ -#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ -#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ - -extern double hypot(double, double); -extern double erf(double); -extern double erfc(double); -extern double j0(double); -extern double y0(double); -extern double j1(double); -extern double y1(double); -extern double jn(int, double); -extern double yn(int, double); - -#endif - - -#ifdef __cplusplus -} -#endif - -#define isnan(x) isNaN(x) -#define isinf(x) isInf(x) - -#endif /* __MATH */ diff -r 8006152d13d2 -r b27112222859 sparc64/include/ape/math.h --- a/sparc64/include/ape/math.h Tue Apr 28 20:51:19 2020 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -#ifndef __MATH -#define __MATH -#pragma lib "/$M/lib/ape/libap.a" - -/* a HUGE_VAL appropriate for IEEE double-precision */ -/* the correct value, 1.797693134862316e+308, causes a ken overflow */ -#define HUGE_VAL 1.79769313486231e+308 - -#ifdef __cplusplus -extern "C" { -#endif - -extern double acos(double); -extern double asin(double); -extern double atan(double); -extern double atan2(double, double); -extern double cos(double); -extern double hypot(double, double); -extern double sin(double); -extern double tan(double); -extern double cosh(double); -extern double sinh(double); -extern double tanh(double); -extern double exp(double); -extern double frexp(double, int *); -extern double ldexp(double, int); -extern double log(double); -extern double log10(double); -extern double modf(double, double *); -extern double pow(double, double); -extern double sqrt(double); -extern double ceil(double); -extern double fabs(double); -extern double floor(double); -extern double fmod(double, double); -extern double NaN(void); -extern int isNaN(double); -extern double Inf(int); -extern int isInf(double, int); -extern double fmin(double, double); - -#ifdef _RESEARCH_SOURCE -/* does >> treat left operand as unsigned ? */ -#define Unsigned_Shifts 1 -#define M_E 2.7182818284590452354 /* e */ -#define M_LOG2E 1.4426950408889634074 /* log 2e */ -#define M_LOG10E 0.43429448190325182765 /* log 10e */ -#define M_LN2 0.69314718055994530942 /* log e2 */ -#define M_LN10 2.30258509299404568402 /* log e10 */ -#define M_PI 3.14159265358979323846 /* pi */ -#define M_PI_2 1.57079632679489661923 /* pi/2 */ -#define M_PI_4 0.78539816339744830962 /* pi/4 */ -#define M_1_PI 0.31830988618379067154 /* 1/pi */ -#define M_2_PI 0.63661977236758134308 /* 2/pi */ -#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ -#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ -#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ - -extern double hypot(double, double); -extern double erf(double); -extern double erfc(double); -extern double j0(double); -extern double y0(double); -extern double j1(double); -extern double y1(double); -extern double jn(int, double); -extern double yn(int, double); - -#endif - - -#ifdef __cplusplus -} -#endif - -#define isnan(x) isNaN(x) -#define isinf(x) isInf(x) - -#endif /* __MATH */ diff -r 8006152d13d2 -r b27112222859 sys/include/ape/math.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sys/include/ape/math.h Fri May 01 03:57:39 2020 +0200 @@ -0,0 +1,79 @@ +#ifndef __MATH +#define __MATH +#pragma lib "/$M/lib/ape/libap.a" + +/* a HUGE_VAL appropriate for IEEE double-precision */ +/* the correct value, 1.797693134862316e+308, causes a ken overflow */ +#define HUGE_VAL 1.79769313486231e+308 + +#ifdef __cplusplus +extern "C" { +#endif + +extern double acos(double); +extern double asin(double); +extern double atan(double); +extern double atan2(double, double); +extern double cos(double); +extern double hypot(double, double); +extern double sin(double); +extern double tan(double); +extern double cosh(double); +extern double sinh(double); +extern double tanh(double); +extern double exp(double); +extern double frexp(double, int *); +extern double ldexp(double, int); +extern double log(double); +extern double log10(double); +extern double modf(double, double *); +extern double pow(double, double); +extern double sqrt(double); +extern double ceil(double); +extern double fabs(double); +extern double floor(double); +extern double fmod(double, double); +extern double NaN(void); +extern int isNaN(double); +extern double Inf(int); +extern int isInf(double, int); +extern double fmin(double, double); + +#ifdef _RESEARCH_SOURCE +/* does >> treat left operand as unsigned ? */ +#define Unsigned_Shifts 1 +#define M_E 2.7182818284590452354 /* e */ +#define M_LOG2E 1.4426950408889634074 /* log 2e */ +#define M_LOG10E 0.43429448190325182765 /* log 10e */ +#define M_LN2 0.69314718055994530942 /* log e2 */ +#define M_LN10 2.30258509299404568402 /* log e10 */ +#define M_PI 3.14159265358979323846 /* pi */ +#define M_PI_2 1.57079632679489661923 /* pi/2 */ +#define M_PI_4 0.78539816339744830962 /* pi/4 */ +#define M_1_PI 0.31830988618379067154 /* 1/pi */ +#define M_2_PI 0.63661977236758134308 /* 2/pi */ +#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ +#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ +#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ + +extern double hypot(double, double); +extern double erf(double); +extern double erfc(double); +extern double j0(double); +extern double y0(double); +extern double j1(double); +extern double y1(double); +extern double jn(int, double); +extern double yn(int, double); + +#endif + + +#ifdef __cplusplus +} +#endif + +#define isnan(x) isNaN(x) +#define isinf(x) isInf(x, 0) + +#endif /* __MATH */