math.h revision 1dc9e472e19acfe6dc7f41e429236e7eef7ceda1
11dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 21dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * ==================================================== 31dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 41dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * 51dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * Developed at SunPro, a Sun Microsystems, Inc. business. 61dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * Permission to use, copy, modify, and distribute this 71dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * software is freely granted, provided that this notice 81dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * is preserved. 91dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * ==================================================== 101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */ 111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 131dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * from: @(#)fdlibm.h 5.1 93/09/24 141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * $FreeBSD: src/lib/msun/src/math.h,v 1.61 2005/04/16 21:12:47 das Exp $ 151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */ 161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef _MATH_H_ 181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _MATH_H_ 191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <sys/cdefs.h> 211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <sys/types.h> 221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <limits.h> 231dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __pure2 251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * ANSI/POSIX 281dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */ 291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectextern const union __infinity_un { 301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char __uc[8]; 311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project double __ud; 321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project} __infinity; 331dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectextern const union __nan_un { 351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char __uc[sizeof(float)]; 361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project float __uf; 371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project} __nan; 381dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #if __GNUC_PREREQ__(3, 3) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 800) */ 401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if 1 411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __MATH_BUILTIN_CONSTANTS 421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 431dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #if __GNUC_PREREQ__(3, 0) && !defined(__INTEL_COMPILER) */ 451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if 1 461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __MATH_BUILTIN_RELOPS 471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 481dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #ifdef __MATH_BUILTIN_CONSTANTS */ 501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if 1 511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define HUGE_VAL __builtin_huge_val() 521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#else 531dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define HUGE_VAL (__infinity.__ud) 541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #if __ISO_C_VISIBLE >= 1999 */ 571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if 0 581dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define FP_ILOGB0 (-__INT_MAX) 591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define FP_ILOGBNAN __INT_MAX 601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#else 611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define FP_ILOGB0 (-INT_MAX) 621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define FP_ILOGBNAN INT_MAX 631dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifdef __MATH_BUILTIN_CONSTANTS 661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define HUGE_VALF __builtin_huge_valf() 671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define HUGE_VALL __builtin_huge_vall() 681dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define INFINITY __builtin_inf() 691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAN __builtin_nan("") 701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#else 711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define HUGE_VALF (float)HUGE_VAL 721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define HUGE_VALL (long double)HUGE_VAL 731dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define INFINITY HUGE_VALF 741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAN (__nan.__uf) 751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif /* __MATH_BUILTIN_CONSTANTS */ 761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MATH_ERRNO 1 781dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MATH_ERREXCEPT 2 791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define math_errhandling MATH_ERREXCEPT 801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* XXX We need a <machine/math.h>. */ 821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if defined(__ia64__) || defined(__sparc64__) 831dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define FP_FAST_FMA 841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifdef __ia64__ 861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define FP_FAST_FMAL 871dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 881dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define FP_FAST_FMAF 891dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 901dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* Symbolic constants to classify floating point numbers. */ 911dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define FP_INFINITE 0x01 921dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define FP_NAN 0x02 931dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define FP_NORMAL 0x04 941dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define FP_SUBNORMAL 0x08 951dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define FP_ZERO 0x10 961dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define fpclassify(x) \ 971dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ((sizeof (x) == sizeof (float)) ? __fpclassifyf(x) \ 981dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project : (sizeof (x) == sizeof (double)) ? __fpclassifyd(x) \ 991dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project : __fpclassifyl(x)) 1001dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 1011dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define isfinite(x) \ 1021dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ((sizeof (x) == sizeof (float)) ? __isfinitef(x) \ 1031dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project : (sizeof (x) == sizeof (double)) ? __isfinite(x) \ 1041dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project : __isfinitel(x)) 1051dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define isinf(x) \ 1061dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ((sizeof (x) == sizeof (float)) ? __isinff(x) \ 1071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project : (sizeof (x) == sizeof (double)) ? __isinf(x) \ 1081dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project : __isinfl(x)) 1091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define isnan(x) \ 1101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ((sizeof (x) == sizeof (float)) ? isnanf(x) \ 1111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project : (sizeof (x) == sizeof (double)) ? isnan(x) \ 1121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project : __isnanl(x)) 1131dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define isnormal(x) \ 1141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ((sizeof (x) == sizeof (float)) ? __isnormalf(x) \ 1151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project : (sizeof (x) == sizeof (double)) ? __isnormal(x) \ 1161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project : __isnormall(x)) 1171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 1181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifdef __MATH_BUILTIN_RELOPS 1191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define isgreater(x, y) __builtin_isgreater((x), (y)) 1201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define isgreaterequal(x, y) __builtin_isgreaterequal((x), (y)) 1211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define isless(x, y) __builtin_isless((x), (y)) 1221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define islessequal(x, y) __builtin_islessequal((x), (y)) 1231dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define islessgreater(x, y) __builtin_islessgreater((x), (y)) 1241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define isunordered(x, y) __builtin_isunordered((x), (y)) 1251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#else 1261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define isgreater(x, y) (!isunordered((x), (y)) && (x) > (y)) 1271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define isgreaterequal(x, y) (!isunordered((x), (y)) && (x) >= (y)) 1281dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define isless(x, y) (!isunordered((x), (y)) && (x) < (y)) 1291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define islessequal(x, y) (!isunordered((x), (y)) && (x) <= (y)) 1301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define islessgreater(x, y) (!isunordered((x), (y)) && \ 1311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ((x) > (y) || (y) > (x))) 1321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define isunordered(x, y) (isnan(x) || isnan(y)) 1331dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif /* __MATH_BUILTIN_RELOPS */ 1341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 1351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define signbit(x) \ 1361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ((sizeof (x) == sizeof (float)) ? __signbitf(x) \ 1371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project : (sizeof (x) == sizeof (double)) ? __signbit(x) \ 1381dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project : __signbitl(x)) 1391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 1401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if 0 1411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef __double_t double_t; 1421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef __float_t float_t; 1431dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 1441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #endif */ /* __ISO_C_VISIBLE >= 1999 */ 1451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 1461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 1471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * XOPEN/SVID 1481dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */ 1491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #if __BSD_VISIBLE || __XSI_VISIBLE */ 1501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define M_E 2.7182818284590452354 /* e */ 1511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define M_LOG2E 1.4426950408889634074 /* log 2e */ 1521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define M_LOG10E 0.43429448190325182765 /* log 10e */ 1531dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define M_LN2 0.69314718055994530942 /* log e2 */ 1541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define M_LN10 2.30258509299404568402 /* log e10 */ 1551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define M_PI 3.14159265358979323846 /* pi */ 1561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define M_PI_2 1.57079632679489661923 /* pi/2 */ 1571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define M_PI_4 0.78539816339744830962 /* pi/4 */ 1581dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define M_1_PI 0.31830988618379067154 /* 1/pi */ 1591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define M_2_PI 0.63661977236758134308 /* 2/pi */ 1601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ 1611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ 1621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ 1631dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 1641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MAXFLOAT ((float)3.40282346638528860e+38) 1651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectextern int signgam; 1661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #endif */ /* __BSD_VISIBLE || __XSI_VISIBLE */ 1671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 1681dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if __BSD_VISIBLE 1691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if 0 1701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* Old value from 4.4BSD-Lite math.h; this is probably better. */ 1711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define HUGE HUGE_VAL 1721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#else 1731dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define HUGE MAXFLOAT 1741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 1751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif /* __BSD_VISIBLE */ 1761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 1771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 1781dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * Most of these functions depend on the rounding mode and have the side 1791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * effect of raising floating-point exceptions, so they are not declared 1801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * as __pure2. In C99, FENV_ACCESS affects the purity of these functions. 1811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */ 1821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project__BEGIN_DECLS 1831dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 1841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * ANSI/POSIX 1851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */ 1861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint __fpclassifyd(double) __pure2; 1871dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint __fpclassifyf(float) __pure2; 1881dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint __fpclassifyl(long double) __pure2; 1891dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint __isfinitef(float) __pure2; 1901dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint __isfinite(double) __pure2; 1911dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint __isfinitel(long double) __pure2; 1921dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint __isinff(float) __pure2; 1931dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint __isinf(double) __pure2; 1941dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint __isinfl(long double) __pure2; 1951dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint __isnanl(long double) __pure2; 1961dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint __isnormalf(float) __pure2; 1971dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint __isnormal(double) __pure2; 1981dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint __isnormall(long double) __pure2; 1991dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint __signbit(double) __pure2; 2001dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint __signbitf(float) __pure2; 2011dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint __signbitl(long double) __pure2; 2021dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 2031dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble acos(double); 2041dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble asin(double); 2051dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble atan(double); 2061dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble atan2(double, double); 2071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble cos(double); 2081dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble sin(double); 2091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble tan(double); 2101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 2111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble cosh(double); 2121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble sinh(double); 2131dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble tanh(double); 2141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 2151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble exp(double); 2161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble frexp(double, int *); /* fundamentally !__pure2 */ 2171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble ldexp(double, int); 2181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble log(double); 2191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble log10(double); 2201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble modf(double, double *); /* fundamentally !__pure2 */ 2211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 2221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble pow(double, double); 2231dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble sqrt(double); 2241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 2251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble ceil(double); 2261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble fabs(double) __pure2; 2271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble floor(double); 2281dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble fmod(double, double); 2291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 2301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 2311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * These functions are not in C90. 2321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */ 2331dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */ 2341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble acosh(double); 2351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble asinh(double); 2361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble atanh(double); 2371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble cbrt(double); 2381dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble erf(double); 2391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble erfc(double); 2401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble exp2(double); 2411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble expm1(double); 2421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble fma(double, double, double); 2431dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble hypot(double, double); 2441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint ilogb(double) __pure2; 2451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* int (isinf)(double) __pure2; */ 2461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint (isnan)(double) __pure2; 2471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble lgamma(double); 2481dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong long llrint(double); 2491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong long llround(double); 2501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble log1p(double); 2511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble logb(double); 2521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong lrint(double); 2531dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong lround(double); 2541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble nextafter(double, double); 2551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble remainder(double, double); 2561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble remquo(double, double, int *); 2571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble rint(double); 2581dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #endif */ /* __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */ 2591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 2601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #if __BSD_VISIBLE || __XSI_VISIBLE */ 2611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble j0(double); 2621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble j1(double); 2631dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble jn(int, double); 2641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble scalb(double, double); 2651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble y0(double); 2661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble y1(double); 2671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble yn(int, double); 2681dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 2691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #if __XSI_VISIBLE <= 500 || __BSD_VISIBLE */ 2701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble gamma(double); 2711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #endif */ 2721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #endif */ /* __BSD_VISIBLE || __XSI_VISIBLE */ 2731dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 2741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 */ 2751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble copysign(double, double) __pure2; 2761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble fdim(double, double); 2771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble fmax(double, double) __pure2; 2781dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble fmin(double, double) __pure2; 2791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble nearbyint(double); 2801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble round(double); 2811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble scalbln(double, long); 2821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble scalbn(double, int); 2831dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble tgamma(double); 2841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble trunc(double); 2851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #endif */ 2861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 2871dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 2881dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * BSD math library entry points 2891dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */ 2901dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #if __BSD_VISIBLE */ 2911dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble drem(double, double); 2921dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint finite(double) __pure2; 2931dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint isnanf(float) __pure2; 2941dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 2951dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 2961dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * Reentrant version of gamma & lgamma; passes signgam back by reference 2971dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * as the second argument; user must allocate space for signgam. 2981dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */ 2991dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble gamma_r(double, int *); 3001dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble lgamma_r(double, int *); 3011dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 3021dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 3031dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * IEEE Test Vector 3041dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */ 3051dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble significand(double); 3061dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #endif */ /* __BSD_VISIBLE */ 3071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 3081dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* float versions of ANSI/POSIX functions */ 3091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/*#if __ISO_C_VISIBLE >= 1999 */ 3101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat acosf(float); 3111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat asinf(float); 3121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat atanf(float); 3131dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat atan2f(float, float); 3141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat cosf(float); 3151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat sinf(float); 3161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat tanf(float); 3171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 3181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat coshf(float); 3191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat sinhf(float); 3201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat tanhf(float); 3211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 3221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat exp2f(float); 3231dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat expf(float); 3241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat expm1f(float); 3251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat frexpf(float, int *); /* fundamentally !__pure2 */ 3261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint ilogbf(float) __pure2; 3271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat ldexpf(float, int); 3281dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat log10f(float); 3291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat log1pf(float); 3301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat logf(float); 3311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat modff(float, float *); /* fundamentally !__pure2 */ 3321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 3331dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat powf(float, float); 3341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat sqrtf(float); 3351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 3361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat ceilf(float); 3371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat fabsf(float) __pure2; 3381dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat floorf(float); 3391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat fmodf(float, float); 3401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat roundf(float); 3411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 3421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat erff(float); 3431dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat erfcf(float); 3441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat hypotf(float, float); 3451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat lgammaf(float); 3461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 3471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat acoshf(float); 3481dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat asinhf(float); 3491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat atanhf(float); 3501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat cbrtf(float); 3511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat logbf(float); 3521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat copysignf(float, float) __pure2; 3531dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong long llrintf(float); 3541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong long llroundf(float); 3551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong lrintf(float); 3561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong lroundf(float); 3571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat nearbyintf(float); 3581dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat nextafterf(float, float); 3591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat remainderf(float, float); 3601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat remquof(float, float, int *); 3611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat rintf(float); 3621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat scalblnf(float, long); 3631dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat scalbnf(float, int); 3641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat truncf(float); 3651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 3661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat fdimf(float, float); 3671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat fmaf(float, float, float); 3681dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat fmaxf(float, float) __pure2; 3691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat fminf(float, float) __pure2; 3701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #endif */ 3711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 3721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 3731dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * float versions of BSD math library entry points 3741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */ 3751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #if __BSD_VISIBLE */ 3761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat dremf(float, float); 3771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint finitef(float) __pure2; 3781dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat gammaf(float); 3791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat j0f(float); 3801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat j1f(float); 3811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat jnf(int, float); 3821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat scalbf(float, float); 3831dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat y0f(float); 3841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat y1f(float); 3851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat ynf(int, float); 3861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 3871dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 3881dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * Float versions of reentrant version of gamma & lgamma; passes 3891dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * signgam back by reference as the second argument; user must 3901dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * allocate space for signgam. 3911dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */ 3921dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat gammaf_r(float, int *); 3931dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat lgammaf_r(float, int *); 3941dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 3951dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 3961dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * float version of IEEE Test Vector 3971dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */ 3981dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat significandf(float); 3991dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #endif */ /* __BSD_VISIBLE */ 4001dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 4011dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 4021dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * long double versions of ISO/POSIX math functions 4031dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */ 4041dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #if __ISO_C_VISIBLE >= 1999 */ 4051dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if 0 4061dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double acoshl(long double); 4071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double acosl(long double); 4081dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double asinhl(long double); 4091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double asinl(long double); 4101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double atan2l(long double, long double); 4111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double atanhl(long double); 4121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double atanl(long double); 4131dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double cbrtl(long double); 4141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 4151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double ceill(long double); 4161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double copysignl(long double, long double) __pure2; 4171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if 0 4181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double coshl(long double); 4191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double cosl(long double); 4201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double erfcl(long double); 4211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double erfl(long double); 4221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double exp2l(long double); 4231dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double expl(long double); 4241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double expm1l(long double); 4251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 4261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double fabsl(long double) __pure2; 4271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double fdiml(long double, long double); 4281dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double floorl(long double); 4291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double fmal(long double, long double, long double); 4301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double fmaxl(long double, long double) __pure2; 4311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double fminl(long double, long double) __pure2; 4321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if 0 4331dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double fmodl(long double, long double); 4341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 4351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double frexpl(long double value, int *); /* fundamentally !__pure2 */ 4361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if 0 4371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double hypotl(long double, long double); 4381dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 4391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint ilogbl(long double) __pure2; 4401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double ldexpl(long double, int); 4411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if 0 4421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double lgammal(long double); 4431dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong long llrintl(long double); 4441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 4451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong long llroundl(long double); 4461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if 0 4471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double log10l(long double); 4481dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double log1pl(long double); 4491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double log2l(long double); 4501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double logbl(long double); 4511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double logl(long double); 4521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong lrintl(long double); 4531dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 4541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong lroundl(long double); 4551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if 0 4561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double modfl(long double, long double *); /* fundamentally !__pure2 */ 4571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double nanl(const char *) __pure2; 4581dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double nearbyintl(long double); 4591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 4601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double nextafterl(long double, long double); 4611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectdouble nexttoward(double, long double); 4621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectfloat nexttowardf(float, long double); 4631dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double nexttowardl(long double, long double); 4641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if 0 4651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double powl(long double, long double); 4661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double remainderl(long double, long double); 4671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double remquol(long double, long double, int *); 4681dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double rintl(long double); 4691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 4701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double roundl(long double); 4711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double scalblnl(long double, long); 4721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double scalbnl(long double, int); 4731dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if 0 4741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double sinhl(long double); 4751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double sinl(long double); 4761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double sqrtl(long double); 4771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double tanhl(long double); 4781dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double tanl(long double); 4791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double tgammal(long double); 4801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 4811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectlong double truncl(long double); 4821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 4831dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* #endif */ /* __ISO_C_VISIBLE >= 1999 */ 4841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project__END_DECLS 4851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project 4861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif /* !_MATH_H_ */ 487