33 #ifdef POK_NEEDS_LIBMATH
35 #ifndef _MATH_PRIVATE_H_
36 #define _MATH_PRIVATE_H_
42 #define _LIB_VERSION 1
49 #define __P(protos) protos
85 #if (BYTE_ORDER == LITTLE_ENDIAN) && \
86 !(defined(__arm__) && !defined(__VFP_FP__))
100 #define EXTRACT_WORDS(ix0,ix1,d) \
102 ieee_double_shape_type ew_u; \
104 (ix0) = ew_u.parts.msw; \
105 (ix1) = ew_u.parts.lsw; \
110 #define GET_HIGH_WORD(i,d) \
112 ieee_double_shape_type gh_u; \
114 (i) = gh_u.parts.msw; \
119 #define GET_LOW_WORD(i,d) \
121 ieee_double_shape_type gl_u; \
123 (i) = gl_u.parts.lsw; \
128 #define INSERT_WORDS(d,ix0,ix1) \
130 ieee_double_shape_type iw_u; \
131 iw_u.parts.msw = (ix0); \
132 iw_u.parts.lsw = (ix1); \
138 #define SET_HIGH_WORD(d,v) \
140 ieee_double_shape_type sh_u; \
142 sh_u.parts.msw = (v); \
148 #define SET_LOW_WORD(d,v) \
150 ieee_double_shape_type sl_u; \
152 sl_u.parts.lsw = (v); \
167 #define GET_FLOAT_WORD(i,d) \
169 ieee_float_shape_type gf_u; \
176 #define SET_FLOAT_WORD(d,i) \
178 ieee_float_shape_type sf_u; \
184 extern double __ieee754_sqrt __P((
double));
185 extern double __ieee754_acos __P((
double));
186 extern double __ieee754_acosh __P((
double));
187 extern double __ieee754_log __P((
double));
188 extern double __ieee754_atanh __P((
double));
189 extern double __ieee754_asin __P((
double));
190 extern double __ieee754_atan2 __P((
double,
double));
191 extern double __ieee754_exp __P((
double));
192 extern double __ieee754_cosh __P((
double));
193 extern double __ieee754_fmod __P((
double,
double));
194 extern double __ieee754_pow __P((
double,
double));
195 extern double __ieee754_lgamma_r __P((
double,
int *));
196 extern double __ieee754_gamma_r __P((
double,
int *));
197 extern double __ieee754_lgamma __P((
double));
198 extern double __ieee754_gamma __P((
double));
199 extern double __ieee754_log10 __P((
double));
200 extern double __ieee754_log2 __P((
double));
201 extern double __ieee754_sinh __P((
double));
202 extern double __ieee754_hypot __P((
double,
double));
203 extern double __ieee754_j0 __P((
double));
204 extern double __ieee754_j1 __P((
double));
205 extern double __ieee754_y0 __P((
double));
206 extern double __ieee754_y1 __P((
double));
207 extern double __ieee754_jn __P((
int,
double));
208 extern double __ieee754_yn __P((
int,
double));
209 extern double __ieee754_remainder __P((
double,
double));
210 extern int32_t __ieee754_rem_pio2 __P((
double,
double*));
211 extern double __ieee754_scalb __P((
double,
double));
214 extern double __kernel_standard __P((
double,
double,
int));
215 extern double __kernel_sin __P((
double,
double,
int));
216 extern double __kernel_cos __P((
double,
double));
217 extern double __kernel_tan __P((
double,
double,
int));
218 extern int __kernel_rem_pio2 __P((
double*,
double*,
int,
int,
int,
const int*));
222 extern float __ieee754_sqrtf __P((
float));
223 extern float __ieee754_acosf __P((
float));
224 extern float __ieee754_acoshf __P((
float));
225 extern float __ieee754_logf __P((
float));
226 extern float __ieee754_atanhf __P((
float));
227 extern float __ieee754_asinf __P((
float));
228 extern float __ieee754_atan2f __P((
float,
float));
229 extern float __ieee754_expf __P((
float));
230 extern float __ieee754_coshf __P((
float));
231 extern float __ieee754_fmodf __P((
float,
float));
232 extern float __ieee754_powf __P((
float,
float));
233 extern float __ieee754_lgammaf_r __P((
float,
int *));
234 extern float __ieee754_gammaf_r __P((
float,
int *));
235 extern float __ieee754_lgammaf __P((
float));
236 extern float __ieee754_gammaf __P((
float));
237 extern float __ieee754_log10f __P((
float));
238 extern float __ieee754_log2f __P((
float));
239 extern float __ieee754_sinhf __P((
float));
240 extern float __ieee754_hypotf __P((
float,
float));
241 extern float __ieee754_j0f __P((
float));
242 extern float __ieee754_j1f __P((
float));
243 extern float __ieee754_y0f __P((
float));
244 extern float __ieee754_y1f __P((
float));
245 extern float __ieee754_jnf __P((
int,
float));
246 extern float __ieee754_ynf __P((
int,
float));
247 extern float __ieee754_remainderf __P((
float,
float));
248 extern int32_t __ieee754_rem_pio2f __P((
float,
float*));
249 extern float __ieee754_scalbf __P((
float,
float));
252 extern float __kernel_sinf __P((
float,
float,
int));
253 extern float __kernel_cosf __P((
float,
float));
254 extern float __kernel_tanf __P((
float,
float,
int));
255 extern int __kernel_rem_pio2f __P((
float*,
float*,
int,
int,
int,
const int*));