1b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 2b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project/* @(#)fdlibm.h 1.5 04/04/22 */ 3b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project/* 4b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * ==================================================== 5b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved. 6b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * 7b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * Permission to use, copy, modify, and distribute this 8b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * software is freely granted, provided that this notice 9b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * is preserved. 10b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * ==================================================== 11b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project */ 12b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 1326ea4299bba7c618fdf97624b39e33444410896dElliott Hughes#ifdef __cplusplus 1426ea4299bba7c618fdf97624b39e33444410896dElliott Hughesextern "C" { 1526ea4299bba7c618fdf97624b39e33444410896dElliott Hughes#endif 1626ea4299bba7c618fdf97624b39e33444410896dElliott Hughes 1726ea4299bba7c618fdf97624b39e33444410896dElliott Hughes#ifndef __LITTLE_ENDIAN 18b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project/* Sometimes it's necessary to define __LITTLE_ENDIAN explicitly 19b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project but these catch some common cases. */ 20b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#if defined(i386) || defined(i486) || \ 21b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project defined(intel) || defined(x86) || defined(i86pc) || \ 222b584d809ab233e0684d6c2779be0cc0607dae1eChris Dearman defined(__alpha) || defined(__osf__) || defined(__MIPSEL__) 23b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define __LITTLE_ENDIAN 24b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#endif 2526ea4299bba7c618fdf97624b39e33444410896dElliott Hughes#endif 26b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 27b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#ifdef __LITTLE_ENDIAN 28b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define __HI(x) *(1+(int*)&x) 29b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define __LO(x) *(int*)&x 30b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define __HIp(x) *(1+(int*)x) 31b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define __LOp(x) *(int*)x 32b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#else 33b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define __HI(x) *(int*)&x 34b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define __LO(x) *(1+(int*)&x) 35b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define __HIp(x) *(int*)x 36b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define __LOp(x) *(1+(int*)x) 37b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#endif 38b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 3926ea4299bba7c618fdf97624b39e33444410896dElliott Hughes#ifndef __P 4026ea4299bba7c618fdf97624b39e33444410896dElliott Hughes#define __FDLIBM_P_DEFINED 41b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#ifdef __STDC__ 42b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define __P(p) p 43b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#else 44b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define __P(p) () 45b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#endif 4626ea4299bba7c618fdf97624b39e33444410896dElliott Hughes#endif 47b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 48b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project/* 49b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * ANSI/POSIX 50b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project */ 51b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 52b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern int signgam; 53b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 54b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define MAXFLOAT ((float)3.40282346638528860e+38) 55b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 56b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectenum fdversion {fdlibm_ieee = -1, fdlibm_svid, fdlibm_xopen, fdlibm_posix}; 57b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 58b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define _LIB_VERSION_TYPE enum fdversion 59b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define _LIB_VERSION _fdlib_version 60b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 61b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project/* if global variable _LIB_VERSION is not desirable, one may 62b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * change the following to be a constant by: 63b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * #define _LIB_VERSION_TYPE const enum version 64b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * In that case, after one initializes the value _LIB_VERSION (see 65b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * s_lib_version.c) during compile time, it cannot be modified 66b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * in the middle of a program 67b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project */ 68b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern _LIB_VERSION_TYPE _LIB_VERSION; 69b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 70b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define _IEEE_ fdlibm_ieee 71b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define _SVID_ fdlibm_svid 72b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define _XOPEN_ fdlibm_xopen 73b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define _POSIX_ fdlibm_posix 74b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 75b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectstruct exception { 76b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project int type; 77b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project char *name; 78b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project double arg1; 79b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project double arg2; 80b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project double retval; 81b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project}; 82b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 83b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define HUGE MAXFLOAT 84b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 85b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project/* 86b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * set X_TLOSS = pi*2**52, which is possibly defined in <values.h> 87b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * (one may replace the following line by "#include <values.h>") 88b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project */ 89b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 90b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define X_TLOSS 1.41484755040568800000e+16 91b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 92b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define DOMAIN 1 93b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define SING 2 94b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define OVERFLOW 3 95b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define UNDERFLOW 4 96b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define TLOSS 5 97b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#define PLOSS 6 98b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 99b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project/* 100b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * ANSI/POSIX 101b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project */ 102b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_acos __P((double)); 103b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_asin __P((double)); 104b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_atan __P((double)); 105b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_atan2 __P((double, double)); 106b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_cos __P((double)); 107b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_sin __P((double)); 108b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_tan __P((double)); 109b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 110b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_cosh __P((double)); 111b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_sinh __P((double)); 112b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_tanh __P((double)); 113b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 114b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_exp __P((double)); 115b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_frexp __P((double, int *)); 116b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_ldexp __P((double, int)); 117b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_log __P((double)); 118b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_log10 __P((double)); 119b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_modf __P((double, double *)); 120b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 121b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_pow __P((double, double)); 122b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_sqrt __P((double)); 123b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 124b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_ceil __P((double)); 125b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_fabs __P((double)); 126b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_floor __P((double)); 127b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_fmod __P((double, double)); 128b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 129b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_erf __P((double)); 130b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_erfc __P((double)); 131b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_gamma __P((double)); 132b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_hypot __P((double, double)); 133b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern int ieee_isnan __P((double)); 134b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern int ieee_finite __P((double)); 135b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_j0 __P((double)); 136b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_j1 __P((double)); 137b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_jn __P((int, double)); 138b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_lgamma __P((double)); 139b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_y0 __P((double)); 140b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_y1 __P((double)); 141b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_yn __P((int, double)); 142b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 143b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double acosh __P((double)); 144b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double asinh __P((double)); 145b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double atanh __P((double)); 146b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_cbrt __P((double)); 147b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_logb __P((double)); 148b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_nextafter __P((double, double)); 149b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_remainder __P((double, double)); 150b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#ifdef _SCALB_INT 151b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_scalb __P((double, int)); 152b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#else 153b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_scalb __P((double, double)); 154b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#endif 155b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 156b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern int ieee_matherr __P((struct exception *)); 157b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 158b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project/* 159b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * IEEE Test Vector 160b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project */ 161b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_significand __P((double)); 162b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 163b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project/* 164b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * Functions callable from C, intended to support IEEE arithmetic. 165b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project */ 166b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_copysign __P((double, double)); 167b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern int ieee_ilogb __P((double)); 168b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_rint __P((double)); 169b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_scalbn __P((double, int)); 170b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 171b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project/* 172b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * BSD math library entry points 173b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project */ 174b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_expm1 __P((double)); 175b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_log1p __P((double)); 176b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 177b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project/* 178b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * Reentrant version of gamma & lgamma; passes signgam back by reference 179b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project * as the second argument; user must allocate space for signgam. 180b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project */ 181b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#ifdef _REENTRANT 182b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_gamma_r __P((double, int *)); 183b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double ieee_lgamma_r __P((double, int *)); 184b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#endif /* _REENTRANT */ 185b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 186b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project/* ieee style elementary functions */ 187b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_sqrt __P((double)); 188b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_acos __P((double)); 189b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_acosh __P((double)); 190b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_log __P((double)); 191b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_atanh __P((double)); 192b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_asin __P((double)); 193b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_atan2 __P((double,double)); 194b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_exp __P((double)); 195b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_cosh __P((double)); 196b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_fmod __P((double,double)); 197b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_pow __P((double,double)); 198b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_lgamma_r __P((double,int *)); 199b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_gamma_r __P((double,int *)); 200b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_lgamma __P((double)); 201b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_gamma __P((double)); 202b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_log10 __P((double)); 203b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_sinh __P((double)); 204b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_hypot __P((double,double)); 205b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_j0 __P((double)); 206b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_j1 __P((double)); 207b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_y0 __P((double)); 208b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_y1 __P((double)); 209b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_jn __P((int,double)); 210b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_yn __P((int,double)); 211b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_remainder __P((double,double)); 212b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern int __ieee754_rem_pio2 __P((double,double*)); 213b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#ifdef _SCALB_INT 214b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_scalb __P((double,int)); 215b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#else 216b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __ieee754_scalb __P((double,double)); 217b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project#endif 218b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project 219b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Project/* fdlibm kernel function */ 220b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __kernel_standard __P((double,double,int)); 221b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __kernel_sin __P((double,double,int)); 222b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __kernel_cos __P((double,double)); 223b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern double __kernel_tan __P((double,double,int)); 224b07e1d9fd8d9e4e03698e0bd9bf77154c5390326The Android Open Source Projectextern int __kernel_rem_pio2 __P((double*,double*,int,int,int,const int*)); 22526ea4299bba7c618fdf97624b39e33444410896dElliott Hughes 22626ea4299bba7c618fdf97624b39e33444410896dElliott Hughes#ifdef __FDLIBM_P_DEFINED 22726ea4299bba7c618fdf97624b39e33444410896dElliott Hughes#undef __P 22826ea4299bba7c618fdf97624b39e33444410896dElliott Hughes#endif 22926ea4299bba7c618fdf97624b39e33444410896dElliott Hughes 23026ea4299bba7c618fdf97624b39e33444410896dElliott Hughes#ifdef __cplusplus 23126ea4299bba7c618fdf97624b39e33444410896dElliott Hughes}; /* extern "C" */ 23226ea4299bba7c618fdf97624b39e33444410896dElliott Hughes#endif 233