summaryrefslogtreecommitdiff
path: root/usr/src/lib/libbc/inc/include/math.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libbc/inc/include/math.h')
-rw-r--r--usr/src/lib/libbc/inc/include/math.h357
1 files changed, 0 insertions, 357 deletions
diff --git a/usr/src/lib/libbc/inc/include/math.h b/usr/src/lib/libbc/inc/include/math.h
deleted file mode 100644
index 0f864b1b7a..0000000000
--- a/usr/src/lib/libbc/inc/include/math.h
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 1988 by Sun Microsystems, Inc.
- */
-
-/* Copyright (c) 1984 AT&T */
-/* All Rights Reserved */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-
-/*
- * Math library definitions for all the public functions implemented in libm.a.
- */
-
-#ifndef __math_h
-#define __math_h
-
-/*
- * Posix (actually ansi C) section
- */
-#define HUGE_VAL (__infinity()) /* Produces IEEE Infinity. */
-
-
-extern double __infinity();
-extern double acos(/* double x */);
-extern double asin(/* double x */);
-extern double atan(/* double x */);
-extern double atan2(/* double y, double x */);
-extern double ceil(/* double x */);
-extern double cos(/* double x */);
-extern double cosh(/* double x */);
-extern double exp(/* double x */);
-extern double fabs(/* double x */);
-extern double floor(/* double x */);
-extern double fmod(/* double x, double y */);
-extern double frexp(/* double value, int *exp */);
-extern double ldexp(/* double value, int exp */);
-extern double log(/* double x */);
-extern double log10(/* double x */);
-extern double modf(/* double value, double *iptr */);
-extern double pow(/* double x, double y */);
-extern double sin(/* double x */);
-extern double sinh(/* double x */);
-extern double sqrt(/* double x */);
-extern double tan(/* double x */);
-extern double tanh(/* double x */);
-
-#ifndef _POSIX_SOURCE /* the rest of the file is !POSIX */
-#include <floatingpoint.h> /* Contains definitions for types and
- * functions implemented in libc.a.
- */
-extern double acosh();
-extern double asinh();
-extern double atanh();
-extern double cbrt();
-extern double copysign();
-extern double erf();
-extern double erfc();
-extern double expm1();
-extern int finite();
-extern double hypot();
-extern double j0();
-extern double j1();
-extern double jn();
-extern double lgamma();
-extern double log1p();
-extern double rint();
-extern double y0();
-extern double y1();
-extern double yn();
-
-/*
- * Sun definitions.
- */
-
-/*
- * Implemented precisions for trigonometric argument reduction.
- */
-enum fp_pi_type {
- fp_pi_infinite = 0, /* Infinite-precision approximation to pi. */
- fp_pi_66 = 1, /* 66-bit approximation to pi. */
- fp_pi_53 = 2 /* 53-bit approximation to pi. */
-};
-
-/*
- * Pi precision to use for trigonometric argument reduction.
- */
-extern enum fp_pi_type fp_pi;
-
-/*
- * Functions callable from C, intended to support IEEE arithmetic.
- */
-extern enum fp_class_type fp_class();
-extern int ieee_flags();
-extern int ieee_handler();
-extern void ieee_retrospective();
-extern int ilogb();
-extern double infinity();
-extern int irint();
-extern int isinf();
-extern int isnan();
-extern int isnormal();
-extern int issubnormal();
-extern int iszero();
-extern double logb();
-extern double max_normal();
-extern double max_subnormal();
-extern double min_normal();
-extern double min_subnormal();
-extern double nextafter();
-extern void nonstandard_arithmetic();
-extern double quiet_nan();
-extern double remainder();
-extern double scalb();
-extern double scalbn();
-extern double signaling_nan();
-extern int signbit();
-extern double significand();
-extern void standard_arithmetic();
-
-/*
- * Other functions for C programmers.
- */
-extern double acospi();
-extern double aint();
-extern double anint();
-extern double annuity();
-extern double asinpi();
-extern double atan2pi();
-extern double atanpi();
-extern double compound();
-extern double cospi();
-extern double exp10();
-extern double exp2();
-extern double log2();
-extern int nint();
-extern void sincos();
-extern void sincospi();
-extern double sinpi();
-extern double tanpi();
-extern int matherr();
-
-
-/*
- * Single-precision functions callable from Fortran, Pascal, Modula-2, etc,
- * take float* arguments instead of double and
- * return FLOATFUNCTIONTYPE results instead of double.
- * RETURNFLOAT is used to return a float function value without conversion
- * to double.
- * ASSIGNFLOAT is used to get the float value out of a FLOATFUNCTIONTYPE
- * result.
- * We don't want you to have to think about -fsingle2.
- *
- * Some internal library functions pass float parameters as 32-bit values,
- * disguised as FLOATPARAMETER. FLOATPARAMETERVALUE(x) extracts the
- * float value from the FLOATPARAMETER.
- */
-
-/* mc68000 returns float results in d0, same as int */
-
-#ifdef mc68000
-#define FLOATFUNCTIONTYPE int
-#define RETURNFLOAT(x) return (*(int *)(&(x)))
-#define ASSIGNFLOAT(x,y) *(int *)(&x) = y
-#endif
-
-/* sparc returns float results in %f0, same as top half of double */
-
-#ifdef sparc
-#define FLOATFUNCTIONTYPE double
-#define RETURNFLOAT(x) { union {double _d; float _f } _kluge; _kluge._f = (x); return _kluge._d; }
-#define ASSIGNFLOAT(x,y) { union {double _d; float _f } _kluge; _kluge._d = (y); x = _kluge._f; }
-#endif
-
-/* i386 returns float results on stack as extendeds, same as double */
-
-#ifdef i386
-#define FLOATFUNCTIONTYPE float
-#define RETURNFLOAT(x) return (x)
-#define ASSIGNFLOAT(x,y) x = y
-#endif
-
-/* So far everybody passes float parameters as 32 bits on stack, same as int. */
-
-#define FLOATPARAMETER int
-#define FLOATPARAMETERVALUE(x) (*(float *)(&(x)))
-
-extern int ir_finite_();
-extern enum fp_class_type ir_fp_class_();
-extern int ir_ilogb_();
-extern int ir_irint_();
-extern int ir_isinf_();
-extern int ir_isnan_();
-extern int ir_isnormal_();
-extern int ir_issubnormal_();
-extern int ir_iszero_();
-extern int ir_nint_();
-extern int ir_signbit_();
-extern void r_sincos_();
-extern void r_sincospi_();
-extern FLOATFUNCTIONTYPE r_acos_();
-extern FLOATFUNCTIONTYPE r_acosh_();
-extern FLOATFUNCTIONTYPE r_acospi_();
-extern FLOATFUNCTIONTYPE r_aint_();
-extern FLOATFUNCTIONTYPE r_anint_();
-extern FLOATFUNCTIONTYPE r_annuity_();
-extern FLOATFUNCTIONTYPE r_asin_();
-extern FLOATFUNCTIONTYPE r_asinh_();
-extern FLOATFUNCTIONTYPE r_asinpi_();
-extern FLOATFUNCTIONTYPE r_atan2_();
-extern FLOATFUNCTIONTYPE r_atan2pi_();
-extern FLOATFUNCTIONTYPE r_atan_();
-extern FLOATFUNCTIONTYPE r_atanh_();
-extern FLOATFUNCTIONTYPE r_atanpi_();
-extern FLOATFUNCTIONTYPE r_cbrt_();
-extern FLOATFUNCTIONTYPE r_ceil_();
-extern FLOATFUNCTIONTYPE r_compound_();
-extern FLOATFUNCTIONTYPE r_copysign_();
-extern FLOATFUNCTIONTYPE r_cos_();
-extern FLOATFUNCTIONTYPE r_cosh_();
-extern FLOATFUNCTIONTYPE r_cospi_();
-extern FLOATFUNCTIONTYPE r_erf_();
-extern FLOATFUNCTIONTYPE r_erfc_();
-extern FLOATFUNCTIONTYPE r_exp10_();
-extern FLOATFUNCTIONTYPE r_exp2_();
-extern FLOATFUNCTIONTYPE r_exp_();
-extern FLOATFUNCTIONTYPE r_expm1_();
-extern FLOATFUNCTIONTYPE r_fabs_();
-extern FLOATFUNCTIONTYPE r_floor_();
-extern FLOATFUNCTIONTYPE r_fmod_();
-extern FLOATFUNCTIONTYPE r_hypot_();
-extern FLOATFUNCTIONTYPE r_infinity_();
-extern FLOATFUNCTIONTYPE r_j0_();
-extern FLOATFUNCTIONTYPE r_j1_();
-extern FLOATFUNCTIONTYPE r_jn_();
-extern FLOATFUNCTIONTYPE r_lgamma_();
-extern FLOATFUNCTIONTYPE r_log10_();
-extern FLOATFUNCTIONTYPE r_log1p_();
-extern FLOATFUNCTIONTYPE r_log2_();
-extern FLOATFUNCTIONTYPE r_log_();
-extern FLOATFUNCTIONTYPE r_logb_();
-extern FLOATFUNCTIONTYPE r_max_normal_();
-extern FLOATFUNCTIONTYPE r_max_subnormal_();
-extern FLOATFUNCTIONTYPE r_min_normal_();
-extern FLOATFUNCTIONTYPE r_min_subnormal_();
-extern FLOATFUNCTIONTYPE r_nextafter_();
-extern FLOATFUNCTIONTYPE r_pow_();
-extern FLOATFUNCTIONTYPE r_quiet_nan_();
-extern FLOATFUNCTIONTYPE r_remainder_();
-extern FLOATFUNCTIONTYPE r_rint_();
-extern FLOATFUNCTIONTYPE r_scalb_();
-extern FLOATFUNCTIONTYPE r_scalbn_();
-extern FLOATFUNCTIONTYPE r_signaling_nan_();
-extern FLOATFUNCTIONTYPE r_significand_();
-extern FLOATFUNCTIONTYPE r_sin_();
-extern FLOATFUNCTIONTYPE r_sinh_();
-extern FLOATFUNCTIONTYPE r_sinpi_();
-extern FLOATFUNCTIONTYPE r_sqrt_();
-extern FLOATFUNCTIONTYPE r_tan_();
-extern FLOATFUNCTIONTYPE r_tanh_();
-extern FLOATFUNCTIONTYPE r_tanpi_();
-extern FLOATFUNCTIONTYPE r_y0_();
-extern FLOATFUNCTIONTYPE r_y1_();
-extern FLOATFUNCTIONTYPE r_yn_();
-
-/* Constants, variables, and functions from System V */
-
-#define _ABS(x) ((x) < 0 ? -(x) : (x))
-
-#define HUGE (infinity()) /* For historical compatibility. */
-
-#define DOMAIN 1
-#define SING 2
-#define OVERFLOW 3
-#define UNDERFLOW 4
-#define TLOSS 5
-#define PLOSS 6
-
-struct exception {
- int type;
- char *name;
- double arg1;
- double arg2;
- double retval;
-};
-
-/*
- * First three have to be defined exactly as in values.h including spacing!
- */
-#define M_LN2 0.69314718055994530942
-#define M_PI 3.14159265358979323846
-#define M_SQRT2 1.41421356237309504880
-
-#define M_E 2.7182818284590452354
-#define M_LOG2E 1.4426950408889634074
-#define M_LOG10E 0.43429448190325182765
-#define M_LN10 2.30258509299404568402
-#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
-#define M_SQRT1_2 0.70710678118654752440
-#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])
-
-extern int signgam;
-/*
- * Deprecated functions for compatibility with past.
- * Changes planned for future.
- */
-
-extern double cabs(); /* Use double hypot(x,y)
- * Traditional cabs usage is confused -
- * is its argument two doubles or one struct?
- */
-extern double drem(); /* Use double remainder(x,y)
- * drem will disappear in a future release.
- */
-extern double gamma(); /* Use double lgamma(x)
- * to compute log of gamma function.
- * Name gamma is reserved for true gamma function
- * to appear in a future release.
- */
-#endif /* !_POSIX_SOURCE */
-#endif /* !__math_h */