111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * ==================================================== 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Developed at SunPro, a Sun Microsystems, Inc. business. 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Permission to use, copy, modify, and distribute this 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * software is freely granted, provided that this notice 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * is preserved. 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * ==================================================== 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * from: @(#)fdlibm.h 5.1 93/09/24 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * $FreeBSD: src/lib/msun/src/math.h,v 1.61 2005/04/16 21:12:47 das Exp $ 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _MATH_H_ 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _MATH_H_ 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <sys/cdefs.h> 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <sys/types.h> 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <limits.h> 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __pure2 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * ANSI/POSIX 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertextern const union __infinity_un { 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char __uc[8]; 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert double __ud; 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} __infinity; 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertextern const union __nan_un { 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char __uc[sizeof(float)]; 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float __uf; 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} __nan; 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #if __GNUC_PREREQ__(3, 3) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 800) */ 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if 1 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __MATH_BUILTIN_CONSTANTS 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #if __GNUC_PREREQ__(3, 0) && !defined(__INTEL_COMPILER) */ 4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if 1 4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __MATH_BUILTIN_RELOPS 4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #ifdef __MATH_BUILTIN_CONSTANTS */ 5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if 1 5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HUGE_VAL __builtin_huge_val() 5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else 5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HUGE_VAL (__infinity.__ud) 5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #if __ISO_C_VISIBLE >= 1999 */ 5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if 0 5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FP_ILOGB0 (-__INT_MAX) 5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FP_ILOGBNAN __INT_MAX 6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else 6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FP_ILOGB0 (-INT_MAX) 6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FP_ILOGBNAN INT_MAX 6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef __MATH_BUILTIN_CONSTANTS 6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HUGE_VALF __builtin_huge_valf() 6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HUGE_VALL __builtin_huge_vall() 6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INFINITY __builtin_inf() 6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NAN __builtin_nan("") 7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else 7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HUGE_VALF (float)HUGE_VAL 7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HUGE_VALL (long double)HUGE_VAL 7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INFINITY HUGE_VALF 7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NAN (__nan.__uf) 7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* __MATH_BUILTIN_CONSTANTS */ 7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MATH_ERRNO 1 7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MATH_ERREXCEPT 2 7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define math_errhandling MATH_ERREXCEPT 8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* XXX We need a <machine/math.h>. */ 8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(__ia64__) || defined(__sparc64__) 8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FP_FAST_FMA 8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef __ia64__ 8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FP_FAST_FMAL 8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FP_FAST_FMAF 8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* Symbolic constants to classify floating point numbers. */ 9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FP_INFINITE 0x01 9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FP_NAN 0x02 9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FP_NORMAL 0x04 9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FP_SUBNORMAL 0x08 9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FP_ZERO 0x10 9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define fpclassify(x) \ 9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ((sizeof (x) == sizeof (float)) ? __fpclassifyf(x) \ 9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert : (sizeof (x) == sizeof (double)) ? __fpclassifyd(x) \ 9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert : __fpclassifyl(x)) 10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define isfinite(x) \ 10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ((sizeof (x) == sizeof (float)) ? __isfinitef(x) \ 10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert : (sizeof (x) == sizeof (double)) ? __isfinite(x) \ 10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert : __isfinitel(x)) 10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define isinf(x) \ 10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ((sizeof (x) == sizeof (float)) ? __isinff(x) \ 10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert : (sizeof (x) == sizeof (double)) ? __isinf(x) \ 10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert : __isinfl(x)) 10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define isnan(x) \ 11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ((sizeof (x) == sizeof (float)) ? isnanf(x) \ 11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert : (sizeof (x) == sizeof (double)) ? isnan(x) \ 11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert : __isnanl(x)) 11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define isnormal(x) \ 11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ((sizeof (x) == sizeof (float)) ? __isnormalf(x) \ 11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert : (sizeof (x) == sizeof (double)) ? __isnormal(x) \ 11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert : __isnormall(x)) 11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef __MATH_BUILTIN_RELOPS 11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define isgreater(x, y) __builtin_isgreater((x), (y)) 12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define isgreaterequal(x, y) __builtin_isgreaterequal((x), (y)) 12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define isless(x, y) __builtin_isless((x), (y)) 12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define islessequal(x, y) __builtin_islessequal((x), (y)) 12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define islessgreater(x, y) __builtin_islessgreater((x), (y)) 12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define isunordered(x, y) __builtin_isunordered((x), (y)) 12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else 12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define isgreater(x, y) (!isunordered((x), (y)) && (x) > (y)) 12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define isgreaterequal(x, y) (!isunordered((x), (y)) && (x) >= (y)) 12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define isless(x, y) (!isunordered((x), (y)) && (x) < (y)) 12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define islessequal(x, y) (!isunordered((x), (y)) && (x) <= (y)) 13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define islessgreater(x, y) (!isunordered((x), (y)) && \ 13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ((x) > (y) || (y) > (x))) 13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define isunordered(x, y) (isnan(x) || isnan(y)) 13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* __MATH_BUILTIN_RELOPS */ 13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define signbit(x) \ 13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ((sizeof (x) == sizeof (float)) ? __signbitf(x) \ 13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert : (sizeof (x) == sizeof (double)) ? __signbit(x) \ 13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert : __signbitl(x)) 13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if 0 14111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef __double_t double_t; 14211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef __float_t float_t; 14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #endif */ /* __ISO_C_VISIBLE >= 1999 */ 14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * XOPEN/SVID 14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #if __BSD_VISIBLE || __XSI_VISIBLE */ 15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define M_E 2.7182818284590452354 /* e */ 15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define M_LOG2E 1.4426950408889634074 /* log 2e */ 15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define M_LOG10E 0.43429448190325182765 /* log 10e */ 15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define M_LN2 0.69314718055994530942 /* log e2 */ 15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define M_LN10 2.30258509299404568402 /* log e10 */ 15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define M_PI 3.14159265358979323846 /* pi */ 15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define M_PI_2 1.57079632679489661923 /* pi/2 */ 15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define M_PI_4 0.78539816339744830962 /* pi/4 */ 15811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define M_1_PI 0.31830988618379067154 /* 1/pi */ 15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define M_2_PI 0.63661977236758134308 /* 2/pi */ 16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ 16111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ 16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ 16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MAXFLOAT ((float)3.40282346638528860e+38) 16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertextern int signgam; 16611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #endif */ /* __BSD_VISIBLE || __XSI_VISIBLE */ 16711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 16811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if __BSD_VISIBLE 16911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if 0 17011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* Old value from 4.4BSD-Lite math.h; this is probably better. */ 17111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HUGE HUGE_VAL 17211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else 17311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HUGE MAXFLOAT 17411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 17511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* __BSD_VISIBLE */ 17611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 17711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 17811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Most of these functions depend on the rounding mode and have the side 17911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * effect of raising floating-point exceptions, so they are not declared 18011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * as __pure2. In C99, FENV_ACCESS affects the purity of these functions. 18111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 18211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert__BEGIN_DECLS 18311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 18411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * ANSI/POSIX 18511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 18611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __fpclassifyd(double) __NDK_FPABI_MATH__ __pure2; 18711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __fpclassifyf(float) __NDK_FPABI_MATH__ __pure2; 18811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __fpclassifyl(long double) __NDK_FPABI_MATH__ __pure2; 18911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __isfinitef(float) __NDK_FPABI_MATH__ __pure2; 19011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __isfinite(double) __NDK_FPABI_MATH__ __pure2; 19111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __isfinitel(long double) __NDK_FPABI_MATH__ __pure2; 19211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __isinff(float) __NDK_FPABI_MATH__ __pure2; 19311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __isinf(double) __NDK_FPABI_MATH__ __pure2; 19411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __isinfl(long double) __NDK_FPABI_MATH__ __pure2; 19511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __isnanl(long double) __NDK_FPABI_MATH__ __pure2; 19611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __isnormalf(float) __NDK_FPABI_MATH__ __pure2; 19711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __isnormal(double) __NDK_FPABI_MATH__ __pure2; 19811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __isnormall(long double) __NDK_FPABI_MATH__ __pure2; 19911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __signbit(double) __NDK_FPABI_MATH__ __pure2; 20011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __signbitf(float) __NDK_FPABI_MATH__ __pure2; 20111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __signbitl(long double) __NDK_FPABI_MATH__ __pure2; 20211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 20311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble acos(double) __NDK_FPABI_MATH__; 20411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble asin(double) __NDK_FPABI_MATH__; 20511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble atan(double) __NDK_FPABI_MATH__; 20611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble atan2(double, double) __NDK_FPABI_MATH__; 20711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble cos(double) __NDK_FPABI_MATH__; 20811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble sin(double) __NDK_FPABI_MATH__; 20911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble tan(double) __NDK_FPABI_MATH__; 21011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 21111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble cosh(double) __NDK_FPABI_MATH__; 21211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble sinh(double) __NDK_FPABI_MATH__; 21311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble tanh(double) __NDK_FPABI_MATH__; 21411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 21511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble exp(double) __NDK_FPABI_MATH__; 21611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble frexp(double, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */ 21711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble ldexp(double, int) __NDK_FPABI_MATH__; 21811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble log(double) __NDK_FPABI_MATH__; 21911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble log10(double) __NDK_FPABI_MATH__; 22011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble modf(double, double *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */ 22111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 22211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble pow(double, double) __NDK_FPABI_MATH__; 22311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble sqrt(double) __NDK_FPABI_MATH__; 22411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 22511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble ceil(double) __NDK_FPABI_MATH__; 22611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble fabs(double) __NDK_FPABI_MATH__ __pure2; 22711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble floor(double) __NDK_FPABI_MATH__; 22811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble fmod(double, double) __NDK_FPABI_MATH__; 22911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 23011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 23111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * These functions are not in C90. 23211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 23311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */ 23411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble acosh(double) __NDK_FPABI_MATH__; 23511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble asinh(double) __NDK_FPABI_MATH__; 23611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble atanh(double) __NDK_FPABI_MATH__; 23711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble cbrt(double) __NDK_FPABI_MATH__; 23811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble erf(double) __NDK_FPABI_MATH__; 23911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble erfc(double) __NDK_FPABI_MATH__; 24011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble exp2(double) __NDK_FPABI_MATH__; 24111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble expm1(double) __NDK_FPABI_MATH__; 24211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble fma(double, double, double) __NDK_FPABI_MATH__; 24311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble hypot(double, double) __NDK_FPABI_MATH__; 24411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint ilogb(double) __NDK_FPABI_MATH__ __pure2; 24511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* int (isinf)(double) __NDK_FPABI_MATH__ __pure2; */ 24611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint (isnan)(double) __NDK_FPABI_MATH__ __pure2; 24711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble lgamma(double) __NDK_FPABI_MATH__; 24811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong long llrint(double) __NDK_FPABI_MATH__; 24911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong long llround(double) __NDK_FPABI_MATH__; 25011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble log1p(double) __NDK_FPABI_MATH__; 25111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble logb(double) __NDK_FPABI_MATH__; 25211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong lrint(double) __NDK_FPABI_MATH__; 25311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong lround(double) __NDK_FPABI_MATH__; 25411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble nextafter(double, double) __NDK_FPABI_MATH__; 25511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble remainder(double, double) __NDK_FPABI_MATH__; 25611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble remquo(double, double, int *) __NDK_FPABI_MATH__; 25711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble rint(double) __NDK_FPABI_MATH__; 25811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #endif */ /* __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE */ 25911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 26011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #if __BSD_VISIBLE || __XSI_VISIBLE */ 26111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble j0(double) __NDK_FPABI_MATH__; 26211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble j1(double) __NDK_FPABI_MATH__; 26311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble jn(int, double) __NDK_FPABI_MATH__; 26411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble scalb(double, double) __NDK_FPABI_MATH__; 26511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble y0(double) __NDK_FPABI_MATH__; 26611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble y1(double) __NDK_FPABI_MATH__; 26711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble yn(int, double) __NDK_FPABI_MATH__; 26811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 26911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #if __XSI_VISIBLE <= 500 || __BSD_VISIBLE */ 27011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble gamma(double) __NDK_FPABI_MATH__; 27111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #endif */ 27211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #endif */ /* __BSD_VISIBLE || __XSI_VISIBLE */ 27311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 27411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 */ 27511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble copysign(double, double) __NDK_FPABI_MATH__ __pure2; 27611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble fdim(double, double) __NDK_FPABI_MATH__; 27711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble fmax(double, double) __NDK_FPABI_MATH__ __pure2; 27811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble fmin(double, double) __NDK_FPABI_MATH__ __pure2; 27911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble nearbyint(double) __NDK_FPABI_MATH__; 28011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble round(double) __NDK_FPABI_MATH__; 28111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble scalbln(double, long) __NDK_FPABI_MATH__; 28211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble scalbn(double, int) __NDK_FPABI_MATH__; 28311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble tgamma(double) __NDK_FPABI_MATH__; 28411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble trunc(double) __NDK_FPABI_MATH__; 28511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #endif */ 28611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 28711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 28811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * BSD math library entry points 28911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 29011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #if __BSD_VISIBLE */ 29111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble drem(double, double) __NDK_FPABI_MATH__; 29211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint finite(double) __NDK_FPABI_MATH__ __pure2; 29311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint isnanf(float) __NDK_FPABI_MATH__ __pure2; 29411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 29511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 29611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Reentrant version of gamma & lgamma; passes signgam back by reference 29711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * as the second argument; user must allocate space for signgam. 29811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 29911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble gamma_r(double, int *) __NDK_FPABI_MATH__; 30011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble lgamma_r(double, int *) __NDK_FPABI_MATH__; 30111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 30211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 30311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * IEEE Test Vector 30411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 30511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble significand(double) __NDK_FPABI_MATH__; 30611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #endif */ /* __BSD_VISIBLE */ 30711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 30811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* float versions of ANSI/POSIX functions */ 30911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/*#if __ISO_C_VISIBLE >= 1999 */ 31011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat acosf(float) __NDK_FPABI_MATH__; 31111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat asinf(float) __NDK_FPABI_MATH__; 31211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat atanf(float) __NDK_FPABI_MATH__; 31311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat atan2f(float, float) __NDK_FPABI_MATH__; 31411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat cosf(float) __NDK_FPABI_MATH__; 31511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat sinf(float) __NDK_FPABI_MATH__; 31611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat tanf(float) __NDK_FPABI_MATH__; 31711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 31811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat coshf(float) __NDK_FPABI_MATH__; 31911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat sinhf(float) __NDK_FPABI_MATH__; 32011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat tanhf(float) __NDK_FPABI_MATH__; 32111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 32211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat exp2f(float) __NDK_FPABI_MATH__; 32311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat expf(float) __NDK_FPABI_MATH__; 32411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat expm1f(float) __NDK_FPABI_MATH__; 32511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat frexpf(float, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */ 32611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint ilogbf(float) __NDK_FPABI_MATH__ __pure2; 32711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat ldexpf(float, int) __NDK_FPABI_MATH__; 32811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat log10f(float) __NDK_FPABI_MATH__; 32911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat log1pf(float) __NDK_FPABI_MATH__; 33011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat logf(float) __NDK_FPABI_MATH__; 33111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat modff(float, float *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */ 33211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 33311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat powf(float, float) __NDK_FPABI_MATH__; 33411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat sqrtf(float) __NDK_FPABI_MATH__; 33511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 33611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat ceilf(float) __NDK_FPABI_MATH__; 33711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat fabsf(float) __NDK_FPABI_MATH__ __pure2; 33811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat floorf(float) __NDK_FPABI_MATH__; 33911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat fmodf(float, float) __NDK_FPABI_MATH__; 34011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat roundf(float) __NDK_FPABI_MATH__; 34111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 34211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat erff(float) __NDK_FPABI_MATH__; 34311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat erfcf(float) __NDK_FPABI_MATH__; 34411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat hypotf(float, float) __NDK_FPABI_MATH__; 34511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat lgammaf(float) __NDK_FPABI_MATH__; 34611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 34711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat acoshf(float) __NDK_FPABI_MATH__; 34811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat asinhf(float) __NDK_FPABI_MATH__; 34911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat atanhf(float) __NDK_FPABI_MATH__; 35011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat cbrtf(float) __NDK_FPABI_MATH__; 35111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat logbf(float) __NDK_FPABI_MATH__; 35211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat copysignf(float, float) __NDK_FPABI_MATH__ __pure2; 35311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong long llrintf(float) __NDK_FPABI_MATH__; 35411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong long llroundf(float) __NDK_FPABI_MATH__; 35511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong lrintf(float) __NDK_FPABI_MATH__; 35611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong lroundf(float) __NDK_FPABI_MATH__; 35711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat nearbyintf(float) __NDK_FPABI_MATH__; 35811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat nextafterf(float, float) __NDK_FPABI_MATH__; 35911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat remainderf(float, float) __NDK_FPABI_MATH__; 36011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat remquof(float, float, int *) __NDK_FPABI_MATH__; 36111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat rintf(float) __NDK_FPABI_MATH__; 36211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat scalblnf(float, long) __NDK_FPABI_MATH__; 36311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat scalbnf(float, int) __NDK_FPABI_MATH__; 36411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat truncf(float) __NDK_FPABI_MATH__; 36511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 36611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat fdimf(float, float) __NDK_FPABI_MATH__; 36711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat fmaf(float, float, float) __NDK_FPABI_MATH__; 36811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat fmaxf(float, float) __NDK_FPABI_MATH__ __pure2; 36911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat fminf(float, float) __NDK_FPABI_MATH__ __pure2; 37011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #endif */ 37111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 37211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 37311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * float versions of BSD math library entry points 37411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 37511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #if __BSD_VISIBLE */ 37611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat dremf(float, float) __NDK_FPABI_MATH__; 37711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint finitef(float) __NDK_FPABI_MATH__ __pure2; 37811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat gammaf(float) __NDK_FPABI_MATH__; 37911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat j0f(float) __NDK_FPABI_MATH__; 38011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat j1f(float) __NDK_FPABI_MATH__; 38111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat jnf(int, float) __NDK_FPABI_MATH__; 38211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat scalbf(float, float) __NDK_FPABI_MATH__; 38311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat y0f(float) __NDK_FPABI_MATH__; 38411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat y1f(float) __NDK_FPABI_MATH__; 38511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat ynf(int, float) __NDK_FPABI_MATH__; 38611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 38711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 38811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Float versions of reentrant version of gamma & lgamma; passes 38911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * signgam back by reference as the second argument; user must 39011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * allocate space for signgam. 39111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 39211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat gammaf_r(float, int *) __NDK_FPABI_MATH__; 39311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat lgammaf_r(float, int *) __NDK_FPABI_MATH__; 39411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 39511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 39611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * float version of IEEE Test Vector 39711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 39811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat significandf(float) __NDK_FPABI_MATH__; 39911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #endif */ /* __BSD_VISIBLE */ 40011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 40111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 40211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * long double versions of ISO/POSIX math functions 40311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 40411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* #if __ISO_C_VISIBLE >= 1999 */ 40511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if 0 40611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double acoshl(long double) __NDK_FPABI_MATH__; 40711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double acosl(long double) __NDK_FPABI_MATH__; 40811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double asinhl(long double) __NDK_FPABI_MATH__; 40911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double asinl(long double) __NDK_FPABI_MATH__; 41011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double atan2l(long double, long double) __NDK_FPABI_MATH__; 41111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double atanhl(long double) __NDK_FPABI_MATH__; 41211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double atanl(long double) __NDK_FPABI_MATH__; 41311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double cbrtl(long double) __NDK_FPABI_MATH__; 41411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 41511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double ceill(long double) __NDK_FPABI_MATH__; 41611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double copysignl(long double, long double) __NDK_FPABI_MATH__ __pure2; 41711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if 0 41811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double coshl(long double) __NDK_FPABI_MATH__; 41911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double cosl(long double) __NDK_FPABI_MATH__; 42011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double erfcl(long double) __NDK_FPABI_MATH__; 42111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double erfl(long double) __NDK_FPABI_MATH__; 42211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double exp2l(long double) __NDK_FPABI_MATH__; 42311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double expl(long double) __NDK_FPABI_MATH__; 42411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double expm1l(long double) __NDK_FPABI_MATH__; 42511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 42611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double fabsl(long double) __NDK_FPABI_MATH__ __pure2; 42711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double fdiml(long double, long double) __NDK_FPABI_MATH__; 42811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double floorl(long double) __NDK_FPABI_MATH__; 42911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double fmal(long double, long double, long double) __NDK_FPABI_MATH__; 43011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double fmaxl(long double, long double) __NDK_FPABI_MATH__ __pure2; 43111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double fminl(long double, long double) __NDK_FPABI_MATH__ __pure2; 43211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if 0 43311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double fmodl(long double, long double) __NDK_FPABI_MATH__; 43411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 43511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double frexpl(long double value, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */ 43611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if 0 43711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double hypotl(long double, long double) __NDK_FPABI_MATH__; 43811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 43911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint ilogbl(long double) __NDK_FPABI_MATH__ __pure2; 44011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double ldexpl(long double, int) __NDK_FPABI_MATH__; 44111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if 0 44211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double lgammal(long double) __NDK_FPABI_MATH__; 44311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong long llrintl(long double) __NDK_FPABI_MATH__; 44411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 44511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong long llroundl(long double) __NDK_FPABI_MATH__; 44611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if 0 44711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double log10l(long double) __NDK_FPABI_MATH__; 44811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double log1pl(long double) __NDK_FPABI_MATH__; 44911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double log2l(long double) __NDK_FPABI_MATH__; 45011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double logbl(long double) __NDK_FPABI_MATH__; 45111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double logl(long double) __NDK_FPABI_MATH__; 45211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong lrintl(long double) __NDK_FPABI_MATH__; 45311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 45411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong lroundl(long double) __NDK_FPABI_MATH__; 45511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if 0 45611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double modfl(long double, long double *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */ 45711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double nanl(const char *) __NDK_FPABI_MATH__ __pure2; 45811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double nearbyintl(long double) __NDK_FPABI_MATH__; 45911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 46011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double nextafterl(long double, long double) __NDK_FPABI_MATH__; 46111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble nexttoward(double, long double) __NDK_FPABI_MATH__; 46211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat nexttowardf(float, long double) __NDK_FPABI_MATH__; 46311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double nexttowardl(long double, long double) __NDK_FPABI_MATH__; 46411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if 0 46511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double powl(long double, long double) __NDK_FPABI_MATH__; 46611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double remainderl(long double, long double) __NDK_FPABI_MATH__; 46711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double remquol(long double, long double, int *) __NDK_FPABI_MATH__; 46811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double rintl(long double) __NDK_FPABI_MATH__; 46911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 47011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double roundl(long double) __NDK_FPABI_MATH__; 47111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double scalblnl(long double, long) __NDK_FPABI_MATH__; 47211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double scalbnl(long double, int) __NDK_FPABI_MATH__; 47311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if 0 47411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double sinhl(long double) __NDK_FPABI_MATH__; 47511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double sinl(long double) __NDK_FPABI_MATH__; 47611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double sqrtl(long double) __NDK_FPABI_MATH__; 47711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double tanhl(long double) __NDK_FPABI_MATH__; 47811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double tanl(long double) __NDK_FPABI_MATH__; 47911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double tgammal(long double) __NDK_FPABI_MATH__; 48011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 48111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double truncl(long double) __NDK_FPABI_MATH__; 48211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 48311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* BIONIC: GLibc compatibility - required by the ARM toolchain */ 48411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef _GNU_SOURCE 48511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid sincos(double x, double *sin, double *cos) __NDK_FPABI_MATH__; 48611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid sincosf(float x, float *sin, float *cos) __NDK_FPABI_MATH__; 48711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid sincosl(long double x, long double *sin, long double *cos) __NDK_FPABI_MATH__; 48811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 48911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 49011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* builtin version of all the above math functions are annotated too */ 49111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 49211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_acos(double) __NDK_FPABI_MATH__; 49311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_asin(double) __NDK_FPABI_MATH__; 49411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_atan(double) __NDK_FPABI_MATH__; 49511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_atan2(double, double) __NDK_FPABI_MATH__; 49611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_cos(double) __NDK_FPABI_MATH__; 49711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_sin(double) __NDK_FPABI_MATH__; 49811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_tan(double) __NDK_FPABI_MATH__; 49911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_cosh(double) __NDK_FPABI_MATH__; 50011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_sinh(double) __NDK_FPABI_MATH__; 50111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_tanh(double) __NDK_FPABI_MATH__; 50211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_exp(double) __NDK_FPABI_MATH__; 50311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_frexp(double, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */ 50411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_ldexp(double, int) __NDK_FPABI_MATH__; 50511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_log(double) __NDK_FPABI_MATH__; 50611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_log10(double) __NDK_FPABI_MATH__; 50711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_modf(double, double *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */ 50811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_pow(double, double) __NDK_FPABI_MATH__; 50911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_sqrt(double) __NDK_FPABI_MATH__; 51011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_ceil(double) __NDK_FPABI_MATH__; 51111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_fabs(double) __NDK_FPABI_MATH__ __pure2; 51211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_floor(double) __NDK_FPABI_MATH__; 51311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_fmod(double, double) __NDK_FPABI_MATH__; 51411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_acosh(double) __NDK_FPABI_MATH__; 51511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_asinh(double) __NDK_FPABI_MATH__; 51611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_atanh(double) __NDK_FPABI_MATH__; 51711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_cbrt(double) __NDK_FPABI_MATH__; 51811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_erf(double) __NDK_FPABI_MATH__; 51911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_erfc(double) __NDK_FPABI_MATH__; 52011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_exp2(double) __NDK_FPABI_MATH__; 52111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_expm1(double) __NDK_FPABI_MATH__; 52211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_fma(double, double, double) __NDK_FPABI_MATH__; 52311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_hypot(double, double) __NDK_FPABI_MATH__; 52411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __builtin_ilogb(double) __NDK_FPABI_MATH__ __pure2; 52511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* int __builtin_isinf(double) __NDK_FPABI_MATH__ __pure2; */ 52611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if !defined(__clang__) 52711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* See upstream bug http://llvm.org/bugs/show_bug.cgi?id=20958 */ 52811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __builtin_isnan(double) __NDK_FPABI_MATH__ __pure2; 52911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 53011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_lgamma(double) __NDK_FPABI_MATH__; 53111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong long __builtin_llrint(double) __NDK_FPABI_MATH__; 53211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong long __builtin_llround(double) __NDK_FPABI_MATH__; 53311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_log1p(double) __NDK_FPABI_MATH__; 53411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_logb(double) __NDK_FPABI_MATH__; 53511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong __builtin_lrint(double) __NDK_FPABI_MATH__; 53611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong __builtin_lround(double) __NDK_FPABI_MATH__; 53711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_nextafter(double, double) __NDK_FPABI_MATH__; 53811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_remainder(double, double) __NDK_FPABI_MATH__; 53911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_remquo(double, double, int *) __NDK_FPABI_MATH__; 54011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_rint(double) __NDK_FPABI_MATH__; 54111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_j0(double) __NDK_FPABI_MATH__; 54211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_j1(double) __NDK_FPABI_MATH__; 54311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_jn(int, double) __NDK_FPABI_MATH__; 54411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_scalb(double, double) __NDK_FPABI_MATH__; 54511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_y0(double) __NDK_FPABI_MATH__; 54611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_y1(double) __NDK_FPABI_MATH__; 54711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_yn(int, double) __NDK_FPABI_MATH__; 54811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_gamma(double) __NDK_FPABI_MATH__; 54911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_copysign(double, double) __NDK_FPABI_MATH__ __pure2; 55011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_fdim(double, double) __NDK_FPABI_MATH__; 55111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_fmax(double, double) __NDK_FPABI_MATH__ __pure2; 55211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_fmin(double, double) __NDK_FPABI_MATH__ __pure2; 55311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_nearbyint(double) __NDK_FPABI_MATH__; 55411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_round(double) __NDK_FPABI_MATH__; 55511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_scalbln(double, long) __NDK_FPABI_MATH__; 55611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_scalbn(double, int) __NDK_FPABI_MATH__; 55711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_tgamma(double) __NDK_FPABI_MATH__; 55811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_trunc(double) __NDK_FPABI_MATH__; 55911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_drem(double, double) __NDK_FPABI_MATH__; 56011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __builtin_finite(double) __NDK_FPABI_MATH__ __pure2; 56111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __builtin_isnanf(float) __NDK_FPABI_MATH__ __pure2; 56211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_gamma_r(double, int *) __NDK_FPABI_MATH__; 56311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_lgamma_r(double, int *) __NDK_FPABI_MATH__; 56411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_significand(double) __NDK_FPABI_MATH__; 56511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_acosf(float) __NDK_FPABI_MATH__; 56611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_asinf(float) __NDK_FPABI_MATH__; 56711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_atanf(float) __NDK_FPABI_MATH__; 56811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_atan2f(float, float) __NDK_FPABI_MATH__; 56911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_cosf(float) __NDK_FPABI_MATH__; 57011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_sinf(float) __NDK_FPABI_MATH__; 57111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_tanf(float) __NDK_FPABI_MATH__; 57211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_coshf(float) __NDK_FPABI_MATH__; 57311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_sinhf(float) __NDK_FPABI_MATH__; 57411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_tanhf(float) __NDK_FPABI_MATH__; 57511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_exp2f(float) __NDK_FPABI_MATH__; 57611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_expf(float) __NDK_FPABI_MATH__; 57711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_expm1f(float) __NDK_FPABI_MATH__; 57811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_frexpf(float, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */ 57911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __builtin_ilogbf(float) __NDK_FPABI_MATH__ __pure2; 58011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_ldexpf(float, int) __NDK_FPABI_MATH__; 58111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_log10f(float) __NDK_FPABI_MATH__; 58211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_log1pf(float) __NDK_FPABI_MATH__; 58311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_logf(float) __NDK_FPABI_MATH__; 58411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_modff(float, float *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */ 58511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_powf(float, float) __NDK_FPABI_MATH__; 58611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_sqrtf(float) __NDK_FPABI_MATH__; 58711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_ceilf(float) __NDK_FPABI_MATH__; 58811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_fabsf(float) __NDK_FPABI_MATH__ __pure2; 58911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_floorf(float) __NDK_FPABI_MATH__; 59011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_fmodf(float, float) __NDK_FPABI_MATH__; 59111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_roundf(float) __NDK_FPABI_MATH__; 59211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_erff(float) __NDK_FPABI_MATH__; 59311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_erfcf(float) __NDK_FPABI_MATH__; 59411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_hypotf(float, float) __NDK_FPABI_MATH__; 59511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_lgammaf(float) __NDK_FPABI_MATH__; 59611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_acoshf(float) __NDK_FPABI_MATH__; 59711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_asinhf(float) __NDK_FPABI_MATH__; 59811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_atanhf(float) __NDK_FPABI_MATH__; 59911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_cbrtf(float) __NDK_FPABI_MATH__; 60011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_logbf(float) __NDK_FPABI_MATH__; 60111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_copysignf(float, float) __NDK_FPABI_MATH__ __pure2; 60211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong long __builtin_llrintf(float) __NDK_FPABI_MATH__; 60311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong long __builtin_llroundf(float) __NDK_FPABI_MATH__; 60411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong __builtin_lrintf(float) __NDK_FPABI_MATH__; 60511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong __builtin_lroundf(float) __NDK_FPABI_MATH__; 60611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_nearbyintf(float) __NDK_FPABI_MATH__; 60711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_nextafterf(float, float) __NDK_FPABI_MATH__; 60811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_remainderf(float, float) __NDK_FPABI_MATH__; 60911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_remquof(float, float, int *) __NDK_FPABI_MATH__; 61011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_rintf(float) __NDK_FPABI_MATH__; 61111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_scalblnf(float, long) __NDK_FPABI_MATH__; 61211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_scalbnf(float, int) __NDK_FPABI_MATH__; 61311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_truncf(float) __NDK_FPABI_MATH__; 61411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_fdimf(float, float) __NDK_FPABI_MATH__; 61511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_fmaf(float, float, float) __NDK_FPABI_MATH__; 61611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_fmaxf(float, float) __NDK_FPABI_MATH__ __pure2; 61711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_fminf(float, float) __NDK_FPABI_MATH__ __pure2; 61811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_dremf(float, float) __NDK_FPABI_MATH__; 61911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __builtin_finitef(float) __NDK_FPABI_MATH__ __pure2; 62011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_gammaf(float) __NDK_FPABI_MATH__; 62111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_j0f(float) __NDK_FPABI_MATH__; 62211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_j1f(float) __NDK_FPABI_MATH__; 62311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_jnf(int, float) __NDK_FPABI_MATH__; 62411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_scalbf(float, float) __NDK_FPABI_MATH__; 62511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_y0f(float) __NDK_FPABI_MATH__; 62611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_y1f(float) __NDK_FPABI_MATH__; 62711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_ynf(int, float) __NDK_FPABI_MATH__; 62811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_gammaf_r(float, int *) __NDK_FPABI_MATH__; 62911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_lgammaf_r(float, int *) __NDK_FPABI_MATH__; 63011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_significandf(float) __NDK_FPABI_MATH__; 63111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_acoshl(long double) __NDK_FPABI_MATH__; 63211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_acosl(long double) __NDK_FPABI_MATH__; 63311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_asinhl(long double) __NDK_FPABI_MATH__; 63411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_asinl(long double) __NDK_FPABI_MATH__; 63511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_atan2l(long double, long double) __NDK_FPABI_MATH__; 63611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_atanhl(long double) __NDK_FPABI_MATH__; 63711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_atanl(long double) __NDK_FPABI_MATH__; 63811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_cbrtl(long double) __NDK_FPABI_MATH__; 63911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_ceill(long double) __NDK_FPABI_MATH__; 64011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_copysignl(long double, long double) __NDK_FPABI_MATH__ __pure2; 64111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_coshl(long double) __NDK_FPABI_MATH__; 64211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_cosl(long double) __NDK_FPABI_MATH__; 64311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_erfcl(long double) __NDK_FPABI_MATH__; 64411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_erfl(long double) __NDK_FPABI_MATH__; 64511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_exp2l(long double) __NDK_FPABI_MATH__; 64611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_expl(long double) __NDK_FPABI_MATH__; 64711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_expm1l(long double) __NDK_FPABI_MATH__; 64811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_fabsl(long double) __NDK_FPABI_MATH__ __pure2; 64911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_fdiml(long double, long double) __NDK_FPABI_MATH__; 65011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_floorl(long double) __NDK_FPABI_MATH__; 65111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_fmal(long double, long double, long double) __NDK_FPABI_MATH__; 65211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_fmaxl(long double, long double) __NDK_FPABI_MATH__ __pure2; 65311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_fminl(long double, long double) __NDK_FPABI_MATH__ __pure2; 65411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_fmodl(long double, long double) __NDK_FPABI_MATH__; 65511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_frexpl(long double value, int *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */ 65611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_hypotl(long double, long double) __NDK_FPABI_MATH__; 65711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertint __builtin_ilogbl(long double) __NDK_FPABI_MATH__ __pure2; 65811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_ldexpl(long double, int) __NDK_FPABI_MATH__; 65911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_lgammal(long double) __NDK_FPABI_MATH__; 66011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong long __builtin_llrintl(long double) __NDK_FPABI_MATH__; 66111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong long __builtin_llroundl(long double) __NDK_FPABI_MATH__; 66211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_log10l(long double) __NDK_FPABI_MATH__; 66311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_log1pl(long double) __NDK_FPABI_MATH__; 66411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_log2l(long double) __NDK_FPABI_MATH__; 66511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_logbl(long double) __NDK_FPABI_MATH__; 66611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_logl(long double) __NDK_FPABI_MATH__; 66711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong __builtin_lrintl(long double) __NDK_FPABI_MATH__; 66811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong __builtin_lroundl(long double) __NDK_FPABI_MATH__; 66911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_modfl(long double, long double *) __NDK_FPABI_MATH__; /* fundamentally !__pure2 */ 67011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_nanl(const char *) __NDK_FPABI_MATH__ __pure2; 67111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_nearbyintl(long double) __NDK_FPABI_MATH__; 67211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_nextafterl(long double, long double) __NDK_FPABI_MATH__; 67311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if !defined(__clang__) || __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4) 67411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_nexttoward(double, long double) __NDK_FPABI_MATH__; 67511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_nexttowardf(float, long double) __NDK_FPABI_MATH__; 67611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else 67711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* clang < 3.4 */ 67811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertdouble __builtin_nexttoward(double, double) __NDK_FPABI_MATH__; 67911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertfloat __builtin_nexttowardf(float, float) __NDK_FPABI_MATH__; 68011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 68111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_nexttowardl(long double, long double) __NDK_FPABI_MATH__; 68211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_powl(long double, long double) __NDK_FPABI_MATH__; 68311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_remainderl(long double, long double) __NDK_FPABI_MATH__; 68411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_remquol(long double, long double, int *) __NDK_FPABI_MATH__; 68511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_rintl(long double) __NDK_FPABI_MATH__; 68611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_roundl(long double) __NDK_FPABI_MATH__; 68711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_scalblnl(long double, long) __NDK_FPABI_MATH__; 68811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_scalbnl(long double, int) __NDK_FPABI_MATH__; 68911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_sinhl(long double) __NDK_FPABI_MATH__; 69011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_sinl(long double) __NDK_FPABI_MATH__; 69111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_sqrtl(long double) __NDK_FPABI_MATH__; 69211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_tanhl(long double) __NDK_FPABI_MATH__; 69311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_tanl(long double) __NDK_FPABI_MATH__; 69411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_tgammal(long double) __NDK_FPABI_MATH__; 69511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertlong double __builtin_truncl(long double) __NDK_FPABI_MATH__; 69611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 69711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert__END_DECLS 69811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 69911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* !_MATH_H_ */ 700