DataMuseum.dk

Presents historical artifacts from the history of:

RC9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: @ T m

⟦f3df6f37a⟧ TextFile

    Length: 5407 (0x151f)
    Types: TextFile
    Notes: @(#)math.h 13.1 (RC International) 91/02/01 */
    Names: »math.h«

Derivation

└─⟦50656ff4a⟧ Bits:30010538 TX 3.1 Coldstart
    └─⟦bbf173f5c⟧ »0004« 
        └─⟦this⟧ »./usr/include/math.h« 
└─⟦50656ff4a⟧ Bits:30010538 TX 3.1 Coldstart
    └─⟦c6f24efe5⟧ »0007« 
        └─⟦this⟧ »comp3.0/bsd/usr/include/math.h« 

TextFile

/*	@(#)math.h	13.1 (RC International) 91/02/01	*/

/*	Copyright (c) 1988 AT&T	*/
/*	  All Rights Reserved  	*/
/*	THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T	*/
/*	The copyright notice above does not evidence any   	*/
/*	actual or intended publication of such source code.	*/

#ident	"@(#)head:math.h	2.11.1.27"

#ifndef _MATH_H
#define _MATH_H

#if defined(__STDC__)

extern double acos(double); 
extern double asin(double); 
extern double atan(double); 
extern double atan2(double, double); 
extern double cos(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); 

#if (__STDC__ == 0 && !defined(_POSIX_SOURCE)) || defined(_XOPEN_SOURCE)

extern double erf(double); 
extern double erfc(double); 
extern double gamma(double);
extern double hypot(double, double);
extern double j0(double); 
extern double j1(double); 
extern double jn(int, double); 
extern double y0(double); 
extern double y1(double); 
extern double yn(int, double); 
extern double lgamma(double);
extern int isnan(double);

#endif

#if __STDC__ == 0 && !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)

extern double atof(char *); 

extern double scalb(double, double);
extern double logb(double);
extern double acosh(double);
extern double asinh(double);
extern double atanh(double);
extern double copysign(double, double);
extern double rint(double);
extern double expm1(double);
extern double log1p(double);
extern double cabs(/* struct {double, double} */);
extern double drem(double, double);
extern double cbrt(double);
extern int finite(double);

extern int matherr(struct exception *); 

/* RC9000 single-precision forms */

extern float fexp(float);
extern float flog(float);
extern float ffloor(float); 
extern float fceil(float);
extern float fhypot(float, float);
extern float fcabs(/*struct {float; float}*/);
extern float fsin(float);
extern float fcos(float);
extern float ftan(float);
extern float fasin(float);
extern float facos(float);
extern float fatan(float);
extern float fatan2(float, float);
extern float fsinh(float);
extern float fcosh(float);
extern float ftanh(float);
extern float fsqrt(float);

#endif

#else /* Not __STDC__ */

extern double acos(), asin(), atan(), atan2();
extern double cos(), sin(), tan();
extern double cosh(), sinh(), tanh();
extern double exp(), frexp(), ldexp(), log(), log10(), modf(); 
extern double pow(), sqrt(), ceil(), fabs(), floor(), fmod(); 
extern double erf(), erfc(), gamma(), hypot(), lgamma();
extern double j0(), j1(), jn(), y0(), y1(), yn(); 
extern double atof(), scalb(), logb(), acosh(), asinh(), atanh(), copysign();
extern double rint(), expm1(), log1p(), cabs(), drem(), cbrt(), finite();
extern int matherr(), isnan();

/* RC9000 single-precision forms */

extern float fexp(), flog(), ffloor(), fceil(), fhypot(), fcabs();
extern float fsin(), fcos(), ftan(), fasin();
extern float facos(), fatan(), fatan2();
extern float fsinh(), fcosh(), ftanh(), fsqrt();

#endif /* __STDC__ */


#if (__STDC__ - 0 == 0 && !defined(_POSIX_SOURCE)) || defined(_XOPEN_SOURCE)

extern int signgam;

/* Some useful constants */
#define M_E		2.7182818284590452354
#define M_LOG2E		1.4426950408889634074
#define M_LOG10E	0.43429448190325182765
#ifndef M_LN2
#define M_LN2		0.69314718055994530942
#endif /* M_LN2 */
#define M_LN10		2.30258509299404568402

#ifndef M_PI
#define M_PI		3.14159265358979323846
#endif /* M_PI */
#define M_PI_2		1.57079632679489661923
#define M_PI_4		0.78539816339744830962
#define M_1_PI		0.31830988618379067154
#define M_2_PI		0.63661977236758134308
#define M_2_SQRTPI	1.12837916709551257390

#ifndef M_SQRT2
#define M_SQRT2		1.41421356237309504880
#endif /* M_SQRT2 */
#define M_SQRT1_2	0.70710678118654752440

#include <limits.h>

#define MAXDOUBLE	DBL_MAX		/* From limits.h */
#define MAXFLOAT	FLT_MAX		/* From limits.h */
#define MINDOUBLE	DBL_MIN		/* From limits.h */
#define MINFLOAT	FLT_MIN		/* From limits.h */

#define HUGE		DBL_MAX
#define HUGE_VAL	DBL_MAX

#endif

#if __STDC__ - 0 == 0 && !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)

#define _ABS(x)		((x) < 0 ? -(x) : (x))

#define _REDUCE(TYPE, X, XN, C1, C2)	{ \
	double x1 = (double)(TYPE)X, x2 = X - x1; \
	X = x1 - (XN) * (C1); X += x2; X -= (XN) * (C2); }

#define _POLY1(x, c)	((c)[0] * (x) + (c)[1])
#define _POLY2(x, c)	(_POLY1((x), (c)) * (x) + (c)[2])
#define _POLY3(x, c)	(_POLY2((x), (c)) * (x) + (c)[3])
#define _POLY4(x, c)	(_POLY3((x), (c)) * (x) + (c)[4])
#define _POLY5(x, c)	(_POLY4((x), (c)) * (x) + (c)[5])
#define _POLY6(x, c)	(_POLY5((x), (c)) * (x) + (c)[6])
#define _POLY7(x, c)	(_POLY6((x), (c)) * (x) + (c)[7])
#define _POLY8(x, c)	(_POLY7((x), (c)) * (x) + (c)[8])
#define _POLY9(x, c)	(_POLY8((x), (c)) * (x) + (c)[9])

struct exception 
{
	int type;
	char *name;
	double arg1;
	double arg2;
	double retval;
};

#define DOMAIN		1
#define	SING		2
#define	OVERFLOW	3
#define	UNDERFLOW	4
#define	TLOSS		5
#define	PLOSS		6

#endif

#endif /* _MATH_H */