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