1 
2 // automatically generated by m4 from headers in proto subdir
3 
4 
5 #ifndef __MATH_H__
6 #define __MATH_H__
7 
8 // THE SELECTED FLOATING POINT PACKAGE MAY NOT SUPPORT ALL LISTED FUNCTIONS
9 
10 #ifndef _FLOAT_T_DEFINED
11 #define _FLOAT_T_DEFINED
12 
13    #ifdef __CLANG
14    typedef float float_t;
15    #endif
16 
17    #ifdef __SDCC
18    typedef float float_t;
19    #endif
20 
21    #ifdef __SCCZ80
22    typedef double float_t;
23    #endif
24 
25 #endif
26 
27 #ifndef _DOUBLE_T_DEFINED
28 #define _DOUBLE_T_DEFINED
29 
30    #ifdef __CLANG
31    typedef float double_t;
32    #endif
33 
34    #ifdef __SDCC
35    typedef float double_t;
36    #endif
37 
38    #ifdef __SCCZ80
39    typedef double double_t;
40    #endif
41 
42 #endif
43 
44 #ifndef _FLOAT16_T_DEFINED
45 #define _FLOAT16_T_DEFINED
46 
47    #ifndef __SCCZ80
48    typedef short _Float16;      /* IEEE-754 half float type */
49    #endif
50 
51 typedef _Float16 half_t;
52 
53 #endif
54 
55 // XSI EXTENSION
56 // temporary : math lib should supply these via func call
57 
58 #define M_E                    2.718281828459
59 #define M_INVLN2               1.442695040889   /* 1 / log(2) */
60 #define M_LOG2E                1.442695040889
61 #define M_IVLN10               0.434294481903  /* 1 / log(10) */
62 #define M_LOG10E               0.434294481903
63 #define M_LOG2_E               0.693147180560
64 #define M_LN2                  0.693147180560
65 #define M_LN10                 2.302585092994
66 #define M_PI                   3.141592653590
67 #define M_TWOPI                6.283185307180
68 #define M_PI_2                 1.570796326795
69 #define M_PI_4                 0.7853981633974
70 #define M_3PI_4                2.3561944901923
71 #define M_SQRTPI               1.7724538509055
72 #define M_1_PI                 0.3183098861838
73 #define M_2_PI                 0.6366197723676
74 #define M_4_PI                 1.2732395447352
75 #define M_1_SQRTPI             0.5641895835478
76 #define M_2_SQRTPI             1.1283791670955
77 #define M_SQRT2                1.4142135623731
78 #define M_SQRT3                1.7320508075689
79 #define M_SQRT1_2              0.7071067811865
80 
81 //
82 
83 #define FLT_EVAL_METHOD        1
84 #define MATH_ERRNO             1
85 #define MATH_ERREXCEPT         2
86 #define math_errhandling       1
87 
88 #ifdef __CLANG
89 
90 #define HUGE_VAL               (1.7014117331E+38)
91 #define HUGE_VALF              (1.7014117331E+38)
92 #define INFINITY               (1.7014117331E+38)
93 
94 #endif
95 
96 #ifdef __SDCC
97 
98 #define HUGE_VAL               (1.7014117331E+38)
99 #define HUGE_VALF              (1.7014117331E+38)
100 #define INFINITY               (1.7014117331E+38)
101 
102 #endif
103 
104 #ifdef __SCCZ80
105 
106 #define HUGE_VAL               (1.7014118346E+38)
107 #define HUGE_VALF              (1.7014118346E+38)
108 #define INFINITY               (1.7014118346E+38)
109 
110 #endif
111 
112 #ifdef __MATH_AM9511
113 
114 #define HUGE_POS_F32            (+9.2e+18)
115 #define TINY_POS_F32            (+2.7e-20)
116 #define HUGE_NEG_F32            (-9.2e+18)
117 #define TINY_NEG_F32            (-2.7e-20)
118 
119 #define MAXL2_F32               (+63.0)
120 #define MINL2_F32               (-64.0)
121 #define MAXLOG_F32              (+43.6657)
122 #define MINLOG_F32              (−45.0)
123 #define MAXL10_F32              (+18.9638)
124 #define MINL10_F32              (−19.5686)
125 
126 #define HUGE_VAL_F32           (0x7F800000)
127 #define INFINITY_POS_F32       (0x7F800000)
128 #define INFINITY_NEG_F32       (0xFF800000)
129 
130 #endif
131 
132 #ifdef __MATH_MATH32
133 
134 #define HUGE_POS_F32           (+3.4028234664E+38)
135 #define TINY_POS_F32           (+1.1754943508E38)
136 #define HUGE_NEG_F32           (-1.7014118346E+38)
137 #define TINY_NEG_F32           (-1.1754943508E-38)
138 
139 #define MAXL2_F32              (+127.999999914)
140 #define MINL2_F32              (-126.0)
141 #define MAXLOG_F32             (+88.722839052)
142 #define MINLOG_F32             (−87.336544751)
143 #define MAXL10_F32             (+38.230809449)
144 #define MINL10_F32             (−37.929779454)
145 
146 #define HUGE_VAL_F32           (0x7F800000)
147 #define INFINITY_POS_F32       (0x7F800000)
148 #define INFINITY_NEG_F32       (0xFF800000)
149 
150 #endif
151 
152 #ifdef __MATH_MATH16
153 
154 #define HUGE_POS_F16            (+6.5504E+4)        /* 0x7BFF */
155 #define TINY_POS_F16            (+6.10352E-5)       /* 0x0400 */
156 #define HUGE_NEG_F16            (-6.5504E+4)        /* 0xFBFF */
157 #define TINY_NEG_F16            (-6.10352E-5)       /* 0x8400 */
158 
159 #define MAXL2_F16               (+15.999)           /* 0x4BFF */
160 #define MINL2_F16               (-14.00)            /* 0xCB00 */
161 #define MAXLOG_F16              (+11.086)           /* 0x498B */
162 #define MINLOG_F16              (-9.700)            /* 0xC8DA */
163 #define MAXL10_F16              (+4.816)            /* 0x44D1 */
164 #define MINL10_F16              (-4.215)            /* 0xC437 */
165 
166 #define HUGE_VAL_F16            (0x7C00)
167 #define INFINITY_POS_F16        (0x7C00)
168 #define INFINITY_NEG_F16        (0xFC00)
169 
170 #endif
171 
172 extern double_t acos(double_t x);
173 extern double_t acos_fastcall(double_t x) __z88dk_fastcall;
174 #define acos(a) acos_fastcall(a)
175 
176 
177 extern double_t asin(double_t x);
178 extern double_t asin_fastcall(double_t x) __z88dk_fastcall;
179 #define asin(a) asin_fastcall(a)
180 
181 
182 extern double_t atan(double_t x);
183 extern double_t atan_fastcall(double_t x) __z88dk_fastcall;
184 #define atan(a) atan_fastcall(a)
185 
186 
187 extern double_t atan2(double_t y,double_t x);
188 extern double_t atan2_callee(double_t y,double_t x) __z88dk_callee;
189 #define atan2(a,b) atan2_callee(a,b)
190 
191 
192 
193 extern double_t cos(double_t x);
194 extern double_t cos_fastcall(double_t x) __z88dk_fastcall;
195 #define cos(a) cos_fastcall(a)
196 
197 
198 extern double_t sin(double_t x);
199 extern double_t sin_fastcall(double_t x) __z88dk_fastcall;
200 #define sin(a) sin_fastcall(a)
201 
202 
203 extern double_t tan(double_t x);
204 extern double_t tan_fastcall(double_t x) __z88dk_fastcall;
205 #define tan(a) tan_fastcall(a)
206 
207 
208 
209 extern double_t acosh(double_t x);
210 extern double_t acosh_fastcall(double_t x) __z88dk_fastcall;
211 #define acosh(a) acosh_fastcall(a)
212 
213 
214 extern double_t asinh(double_t x);
215 extern double_t asinh_fastcall(double_t x) __z88dk_fastcall;
216 #define asinh(a) asinh_fastcall(a)
217 
218 
219 extern double_t atanh(double_t x);
220 extern double_t atanh_fastcall(double_t x) __z88dk_fastcall;
221 #define atanh(a) atanh_fastcall(a)
222 
223 
224 
225 extern double_t cosh(double_t x);
226 extern double_t cosh_fastcall(double_t x) __z88dk_fastcall;
227 #define cosh(a) cosh_fastcall(a)
228 
229 
230 extern double_t sinh(double_t x);
231 extern double_t sinh_fastcall(double_t x) __z88dk_fastcall;
232 #define sinh(a) sinh_fastcall(a)
233 
234 
235 extern double_t tanh(double_t x);
236 extern double_t tanh_fastcall(double_t x) __z88dk_fastcall;
237 #define tanh(a) tanh_fastcall(a)
238 
239 
240 
241 extern double_t exp(double_t x);
242 extern double_t exp_fastcall(double_t x) __z88dk_fastcall;
243 #define exp(a) exp_fastcall(a)
244 
245 
246 extern double_t exp2(double_t x);
247 extern double_t exp2_fastcall(double_t x) __z88dk_fastcall;
248 #define exp2(a) exp2_fastcall(a)
249 
250 
251 extern double_t expm1(double_t x);
252 extern double_t expm1_fastcall(double_t x) __z88dk_fastcall;
253 #define expm1(a) expm1_fastcall(a)
254 
255 
256 extern double_t frexp(double_t value,int *exp);
257 extern double_t frexp_callee(double_t value,int *exp) __z88dk_callee;
258 #define frexp(a,b) frexp_callee(a,b)
259 
260 
261 extern int ilogb(double_t x);
262 extern int ilogb_fastcall(double_t x) __z88dk_fastcall;
263 #define ilogb(a) ilogb_fastcall(a)
264 
265 
266 extern double_t ldexp(double_t x,int exp);
267 extern double_t ldexp_callee(double_t x,int exp) __z88dk_callee;
268 #define ldexp(a,b) ldexp_callee(a,b)
269 
270 
271 extern double_t scalbn(double_t x,int n);
272 extern double_t scalbn_callee(double_t x,int n) __z88dk_callee;
273 #define scalbn(a,b) scalbn_callee(a,b)
274 
275 
276 extern double_t scalbln(double_t x,int n);
277 extern double_t scalbln_callee(double_t x,int n) __z88dk_callee;
278 #define scalbln(a,b) scalbln_callee(a,b)
279 
280 
281 
282 extern double_t log(double_t x);
283 extern double_t log_fastcall(double_t x) __z88dk_fastcall;
284 #define log(a) log_fastcall(a)
285 
286 
287 extern double_t log10(double_t x);
288 extern double_t log10_fastcall(double_t x) __z88dk_fastcall;
289 #define log10(a) log10_fastcall(a)
290 
291 
292 extern double_t log1p(double_t x);
293 extern double_t log1p_fastcall(double_t x) __z88dk_fastcall;
294 #define log1p(a) log1p_fastcall(a)
295 
296 
297 extern double_t log2(double_t x);
298 extern double_t log2_fastcall(double_t x) __z88dk_fastcall;
299 #define log2(a) log2_fastcall(a)
300 
301 
302 extern double_t logb(double_t x);
303 extern double_t logb_fastcall(double_t x) __z88dk_fastcall;
304 #define logb(a) logb_fastcall(a)
305 
306 
307 
308 extern double_t fabs(double_t x);
309 extern double_t fabs_fastcall(double_t x) __z88dk_fastcall;
310 #define fabs(a) fabs_fastcall(a)
311 
312 
313 extern double_t hypot(double_t x,double_t y);
314 extern double_t hypot_callee(double_t x,double_t y) __z88dk_callee;
315 #define hypot(a,b) hypot_callee(a,b)
316 
317 
318 
319 extern double_t pow(double_t x,double_t y);
320 extern double_t pow_callee(double_t x,double_t y) __z88dk_callee;
321 #define pow(a,b) pow_callee(a,b)
322 
323 
324 extern double_t sqrt(double_t x);
325 extern double_t sqrt_fastcall(double_t x) __z88dk_fastcall;
326 #define sqrt(a) sqrt_fastcall(a)
327 
328 
329 extern double_t cbrt(double_t x);
330 extern double_t cbrt_fastcall(double_t x) __z88dk_fastcall;
331 #define cbrt(a) cbrt_fastcall(a)
332 
333 
334 
335 extern double_t erf(double_t x);
336 extern double_t erf_fastcall(double_t x) __z88dk_fastcall;
337 #define erf(a) erf_fastcall(a)
338 
339 
340 extern double_t erfc(double_t x);
341 extern double_t erfc_fastcall(double_t x) __z88dk_fastcall;
342 #define erfc(a) erfc_fastcall(a)
343 
344 
345 extern double_t lgamma(double_t x);
346 extern double_t lgamma_fastcall(double_t x) __z88dk_fastcall;
347 #define lgamma(a) lgamma_fastcall(a)
348 
349 
350 extern double_t tgamma(double_t x);
351 extern double_t tgamma_fastcall(double_t x) __z88dk_fastcall;
352 #define tgamma(a) tgamma_fastcall(a)
353 
354 
355 
356 extern double_t ceil(double_t x);
357 extern double_t ceil_fastcall(double_t x) __z88dk_fastcall;
358 #define ceil(a) ceil_fastcall(a)
359 
360 
361 extern double_t floor(double_t x);
362 extern double_t floor_fastcall(double_t x) __z88dk_fastcall;
363 #define floor(a) floor_fastcall(a)
364 
365 
366 extern double_t nearbyint(double_t x);
367 extern double_t nearbyint_fastcall(double_t x) __z88dk_fastcall;
368 #define nearbyint(a) nearbyint_fastcall(a)
369 
370 
371 extern double_t rint(double_t x);
372 extern double_t rint_fastcall(double_t x) __z88dk_fastcall;
373 #define rint(a) rint_fastcall(a)
374 
375 
376 extern long lrint(double_t x);
377 extern long lrint_fastcall(double_t x) __z88dk_fastcall;
378 #define lrint(a) lrint_fastcall(a)
379 
380 
381 extern double_t round(double_t x);
382 extern double_t round_fastcall(double_t x) __z88dk_fastcall;
383 #define round(a) round_fastcall(a)
384 
385 
386 extern long lround(double_t x);
387 extern long lround_fastcall(double_t x) __z88dk_fastcall;
388 #define lround(a) lround_fastcall(a)
389 
390 
391 extern double_t trunc(double_t x);
392 extern double_t trunc_fastcall(double_t x) __z88dk_fastcall;
393 #define trunc(a) trunc_fastcall(a)
394 
395 
396 
397 extern double_t modf(double_t value,double_t *iptr);
398 extern double_t modf_callee(double_t value,double_t *iptr) __z88dk_callee;
399 #define modf(a,b) modf_callee(a,b)
400 
401 
402 extern double_t fmod(double_t x,double_t y);
403 extern double_t fmod_callee(double_t x,double_t y) __z88dk_callee;
404 #define fmod(a,b) fmod_callee(a,b)
405 
406 
407 extern double_t remainder(double_t x,double_t y);
408 extern double_t remainder_callee(double_t x,double_t y) __z88dk_callee;
409 #define remainder(a,b) remainder_callee(a,b)
410 
411 
412 extern double_t remquo(double_t x,double_t y,int *quo);
413 extern double_t remquo_callee(double_t x,double_t y,int *quo) __z88dk_callee;
414 #define remquo(a,b,c) remquo_callee(a,b,c)
415 
416 
417 
418 extern double_t copysign(double_t x,double_t y);
419 extern double_t copysign_callee(double_t x,double_t y) __z88dk_callee;
420 #define copysign(a,b) copysign_callee(a,b)
421 
422 
423 extern double_t nan(const char *tagp);
424 extern double_t nan_fastcall(const char *tagp) __z88dk_fastcall;
425 #define nan(a) nan_fastcall(a)
426 
427 
428 
429 extern double_t nextafter(double_t x,double_t y);
430 extern double_t nextafter_callee(double_t x,double_t y) __z88dk_callee;
431 #define nextafter(a,b) nextafter_callee(a,b)
432 
433 
434 extern double_t nexttoward(double_t x,double_t y);
435 extern double_t nexttoward_callee(double_t x,double_t y) __z88dk_callee;
436 #define nexttoward(a,b) nexttoward_callee(a,b)
437 
438 
439 
440 extern double_t fdim(double_t x,double_t y);
441 extern double_t fdim_callee(double_t x,double_t y) __z88dk_callee;
442 #define fdim(a,b) fdim_callee(a,b)
443 
444 
445 
446 extern double_t fmax(double_t x,double_t y);
447 extern double_t fmax_callee(double_t x,double_t y) __z88dk_callee;
448 #define fmax(a,b) fmax_callee(a,b)
449 
450 
451 extern double_t fmin(double_t x,double_t y);
452 extern double_t fmin_callee(double_t x,double_t y) __z88dk_callee;
453 #define fmin(a,b) fmin_callee(a,b)
454 
455 
456 
457 extern double_t fma(double_t x,double_t y,double_t z);
458 extern double_t fma_callee(double_t x,double_t y,double_t z) __z88dk_callee;
459 #define fma(a,b,c) fma_callee(a,b,c)
460 
461 
462 
463 extern int isgreater(double_t x,double_t y);
464 extern int isgreater_callee(double_t x,double_t y) __z88dk_callee;
465 #define isgreater(a,b) isgreater_callee(a,b)
466 
467 
468 extern int isgreaterequal(double_t x,double_t y);
469 extern int isgreaterequal_callee(double_t x,double_t y) __z88dk_callee;
470 #define isgreaterequal(a,b) isgreaterequal_callee(a,b)
471 
472 
473 extern int isless(double_t x,double_t y);
474 extern int isless_callee(double_t x,double_t y) __z88dk_callee;
475 #define isless(a,b) isless_callee(a,b)
476 
477 
478 extern int islessequal(double_t x,double_t y);
479 extern int islessequal_callee(double_t x,double_t y) __z88dk_callee;
480 #define islessequal(a,b) islessequal_callee(a,b)
481 
482 
483 extern int islessgreater(double_t x,double_t y);
484 extern int islessgreater_callee(double_t x,double_t y) __z88dk_callee;
485 #define islessgreater(a,b) islessgreater_callee(a,b)
486 
487 
488 extern int isunordered(double_t x,double_t y);
489 extern int isunordered_callee(double_t x,double_t y) __z88dk_callee;
490 #define isunordered(a,b) isunordered_callee(a,b)
491 
492 
493 
494 #ifdef __MATH_MATH32
495 
496 extern double_t sqr(double_t x);
497 extern double_t sqr_fastcall(double_t x) __z88dk_fastcall;
498 #define sqr(a) sqr_fastcall(a)
499 
500 
501 extern double_t inv(double_t x);
502 extern double_t inv_fastcall(double_t x) __z88dk_fastcall;
503 #define inv(a) inv_fastcall(a)
504 
505 
506 extern double_t invsqrt(double_t x);
507 extern double_t invsqrt_fastcall(double_t x) __z88dk_fastcall;
508 #define invsqrt(a) invsqrt_fastcall(a)
509 
510 
511 extern double_t div2(double_t x);
512 extern double_t div2_fastcall(double_t x) __z88dk_fastcall;
513 #define div2(a) div2_fastcall(a)
514 
515 
516 extern double_t mul2(double_t x);
517 extern double_t mul2_fastcall(double_t x) __z88dk_fastcall;
518 #define mul2(a) mul2_fastcall(a)
519 
520 
521 extern double_t mul10u(double_t x);
522 extern double_t mul10u_fastcall(double_t x) __z88dk_fastcall;
523 #define mul10u(a) mul10u_fastcall(a)
524 
525 
526 extern double_t exp10(double_t x);
527 extern double_t exp10_fastcall(double_t x) __z88dk_fastcall;
528 #define exp10(a) exp10_fastcall(a)
529 
530 
531 extern double_t poly(const float x,const float d[],unsigned int n);
532 extern double_t poly_callee(const float x,const float d[],unsigned int n) __z88dk_callee;
533 #define poly(a,b,c) poly_callee(a,b,c)
534 
535 
536 
537 #endif
538 
539 #ifdef __MATH_AM9511
540 
541 extern double_t f32_fam9511(double_t x);
542 extern double_t f32_fam9511_fastcall(double_t x) __z88dk_fastcall;
543 #define f32_fam9511(a) f32_fam9511_fastcall(a)
544 
545 
546 extern double_t fam9511_f32(double_t x);
547 extern double_t fam9511_f32_fastcall(double_t x) __z88dk_fastcall;
548 #define fam9511_f32(a) fam9511_f32_fastcall(a)
549 
550 
551 extern double_t sqr(double_t x);
552 extern double_t sqr_fastcall(double_t x) __z88dk_fastcall;
553 #define sqr(a) sqr_fastcall(a)
554 
555 
556 extern double_t div2(double_t x);
557 extern double_t div2_fastcall(double_t x) __z88dk_fastcall;
558 #define div2(a) div2_fastcall(a)
559 
560 
561 extern double_t mul2(double_t x);
562 extern double_t mul2_fastcall(double_t x) __z88dk_fastcall;
563 #define mul2(a) mul2_fastcall(a)
564 
565 
566 extern double_t mul10u(double_t x);
567 extern double_t mul10u_fastcall(double_t x) __z88dk_fastcall;
568 #define mul10u(a) mul10u_fastcall(a)
569 
570 
571 extern double_t exp10(double_t x);
572 extern double_t exp10_fastcall(double_t x) __z88dk_fastcall;
573 #define exp10(a) exp10_fastcall(a)
574 
575 
576 
577 #endif
578 
579 #ifdef __MATH_MATH16
580 
581 extern half_t f16_f48(double_t x);
582 extern half_t f16_f48_fastcall(double_t x) __z88dk_fastcall;
583 #define f16_f48(a) f16_f48_fastcall(a)
584 
585 
586 extern double_t f48_f16(half_t x);
587 extern double_t f48_f16_fastcall(half_t x) __z88dk_fastcall;
588 #define f48_f16(a) f48_f16_fastcall(a)
589 
590 
591 
592 extern half_t f16_f32(float_t x);
593 extern half_t f16_f32_fastcall(float_t x) __z88dk_fastcall;
594 #define f16_f32(a) f16_f32_fastcall(a)
595 
596 
597 extern float_t f32_f16(half_t x);
598 extern float_t f32_f16_fastcall(half_t x) __z88dk_fastcall;
599 #define f32_f16(a) f32_f16_fastcall(a)
600 
601 
602 
603 extern int16_t i16_f16(half_t x);
604 extern int16_t i16_f16_fastcall(half_t x) __z88dk_fastcall;
605 #define i16_f16(a) i16_f16_fastcall(a)
606 
607 
608 extern uint16_t u16_f16(half_t x);
609 extern uint16_t u16_f16_fastcall(half_t x) __z88dk_fastcall;
610 #define u16_f16(a) u16_f16_fastcall(a)
611 
612 
613 extern int32_t i32_f16(half_t x);
614 extern int32_t i32_f16_fastcall(half_t x) __z88dk_fastcall;
615 #define i32_f16(a) i32_f16_fastcall(a)
616 
617 
618 extern uint32_t u32_f16(half_t x);
619 extern uint32_t u32_f16_fastcall(half_t x) __z88dk_fastcall;
620 #define u32_f16(a) u32_f16_fastcall(a)
621 
622 
623 
624 extern half_t f16_i8(int8_t x);
625 extern half_t f16_i8_fastcall(int8_t x) __z88dk_fastcall;
626 #define f16_i8(a) f16_i8_fastcall(a)
627 
628 
629 extern half_t f16_i16(int16_t x);
630 extern half_t f16_i16_fastcall(int16_t x) __z88dk_fastcall;
631 #define f16_i16(a) f16_i16_fastcall(a)
632 
633 
634 extern half_t f16_i32(int32_t x);
635 extern half_t f16_i32_fastcall(int32_t x) __z88dk_fastcall;
636 #define f16_i32(a) f16_i32_fastcall(a)
637 
638 
639 extern half_t f16_u8(uint8_t x);
640 extern half_t f16_u8_fastcall(uint8_t x) __z88dk_fastcall;
641 #define f16_u8(a) f16_u8_fastcall(a)
642 
643 
644 extern half_t f16_u16(uint16_t x);
645 extern half_t f16_u16_fastcall(uint16_t x) __z88dk_fastcall;
646 #define f16_u16(a) f16_u16_fastcall(a)
647 
648 
649 extern half_t f16_u32(uint32_t x);
650 extern half_t f16_u32_fastcall(uint32_t x) __z88dk_fastcall;
651 #define f16_u32(a) f16_u32_fastcall(a)
652 
653 
654 
655 extern half_t addf16(half_t x,half_t y);
656 extern half_t addf16_callee(half_t x,half_t y) __z88dk_callee;
657 #define addf16(a,b) addf16_callee(a,b)
658 
659 
660 extern half_t subf16(half_t x,half_t y);
661 extern half_t subf16_callee(half_t x,half_t y) __z88dk_callee;
662 #define subf16(a,b) subf16_callee(a,b)
663 
664 
665 extern half_t mulf16(half_t x,half_t y);
666 extern half_t mulf16_callee(half_t x,half_t y) __z88dk_callee;
667 #define mulf16(a,b) mulf16_callee(a,b)
668 
669 
670 extern half_t divf16(half_t x,half_t y);
671 extern half_t divf16_callee(half_t x,half_t y) __z88dk_callee;
672 #define divf16(a,b) divf16_callee(a,b)
673 
674 
675 
676 extern half_t fmaf16(half_t x,half_t y,half_t z);
677 extern half_t fmaf16_callee(half_t x,half_t y,half_t z) __z88dk_callee;
678 #define fmaf16(a,b,c) fmaf16_callee(a,b,c)
679 
680 
681 extern half_t polyf16(half_t x,float_t d[],uint16_t n);
682 extern half_t polyf16_callee(half_t x,float_t d[],uint16_t n) __z88dk_callee;
683 #define polyf16(a,b,c) polyf16_callee(a,b,c)
684 
685 
686 extern half_t hypotf16(half_t x,half_t y);
687 extern half_t hypotf16_callee(half_t x,half_t y) __z88dk_callee;
688 #define hypotf16(a,b) hypotf16_callee(a,b)
689 
690 
691 
692 extern half_t invf16(half_t x);
693 extern half_t invf16_fastcall(half_t x) __z88dk_fastcall;
694 #define invf16(a) invf16_fastcall(a)
695 
696 
697 extern half_t invsqrtf16(half_t x);
698 extern half_t invsqrtf16_fastcall(half_t x) __z88dk_fastcall;
699 #define invsqrtf16(a) invsqrtf16_fastcall(a)
700 
701 
702 
703 extern half_t sqrtf16(half_t x);
704 extern half_t sqrtf16_fastcall(half_t x) __z88dk_fastcall;
705 #define sqrtf16(a) sqrtf16_fastcall(a)
706 
707 
708 
709 extern half_t div2f16(half_t x);
710 extern half_t div2f16_fastcall(half_t x) __z88dk_fastcall;
711 #define div2f16(a) div2f16_fastcall(a)
712 
713 
714 extern half_t mul2f16(half_t x);
715 extern half_t mul2f16_fastcall(half_t x) __z88dk_fastcall;
716 #define mul2f16(a) mul2f16_fastcall(a)
717 
718 
719 extern half_t mul10f16(half_t x);
720 extern half_t mul10f16_fastcall(half_t x) __z88dk_fastcall;
721 #define mul10f16(a) mul10f16_fastcall(a)
722 
723 
724 extern half_t frexpf16(half_t x,int8_t *pw2);
725 extern half_t frexpf16_callee(half_t x,int8_t *pw2) __z88dk_callee;
726 #define frexpf16(a,b) frexpf16_callee(a,b)
727 
728 
729 extern half_t ldexpf16(half_t x,int16_t pw2);
730 extern half_t ldexpf16_callee(half_t x,int16_t pw2) __z88dk_callee;
731 #define ldexpf16(a,b) ldexpf16_callee(a,b)
732 
733 
734 
735 extern half_t acosf16(half_t x);
736 extern half_t acosf16_fastcall(half_t x) __z88dk_fastcall;
737 #define acosf16(a) acosf16_fastcall(a)
738 
739 
740 extern half_t asinf16(half_t x);
741 extern half_t asinf16_fastcall(half_t x) __z88dk_fastcall;
742 #define asinf16(a) asinf16_fastcall(a)
743 
744 
745 extern half_t atanf16(half_t x);
746 extern half_t atanf16_fastcall(half_t x) __z88dk_fastcall;
747 #define atanf16(a) atanf16_fastcall(a)
748 
749 
750 
751 extern half_t cosf16(half_t x);
752 extern half_t cosf16_fastcall(half_t x) __z88dk_fastcall;
753 #define cosf16(a) cosf16_fastcall(a)
754 
755 
756 extern half_t sinf16(half_t x);
757 extern half_t sinf16_fastcall(half_t x) __z88dk_fastcall;
758 #define sinf16(a) sinf16_fastcall(a)
759 
760 
761 extern half_t tanf16(half_t x);
762 extern half_t tanf16_fastcall(half_t x) __z88dk_fastcall;
763 #define tanf16(a) tanf16_fastcall(a)
764 
765 
766 
767 extern half_t expf16(half_t x);
768 extern half_t expf16_fastcall(half_t x) __z88dk_fastcall;
769 #define expf16(a) expf16_fastcall(a)
770 
771 
772 extern half_t exp2f16(half_t x);
773 extern half_t exp2f16_fastcall(half_t x) __z88dk_fastcall;
774 #define exp2f16(a) exp2f16_fastcall(a)
775 
776 
777 extern half_t exp10f16(half_t x);
778 extern half_t exp10f16_fastcall(half_t x) __z88dk_fastcall;
779 #define exp10f16(a) exp10f16_fastcall(a)
780 
781 
782 extern half_t logf16(half_t x);
783 extern half_t logf16_fastcall(half_t x) __z88dk_fastcall;
784 #define logf16(a) logf16_fastcall(a)
785 
786 
787 extern half_t log2f16(half_t x);
788 extern half_t log2f16_fastcall(half_t x) __z88dk_fastcall;
789 #define log2f16(a) log2f16_fastcall(a)
790 
791 
792 extern half_t log10f16(half_t x);
793 extern half_t log10f16_fastcall(half_t x) __z88dk_fastcall;
794 #define log10f16(a) log10f16_fastcall(a)
795 
796 
797 extern half_t powf16(half_t x,half_t y);
798 extern half_t powf16_callee(half_t x,half_t y) __z88dk_callee;
799 #define powf16(a,b) powf16_callee(a,b)
800 
801 
802 
803 extern half_t fabsf16(half_t x);
804 extern half_t fabsf16_fastcall(half_t x) __z88dk_fastcall;
805 #define fabsf16(a) fabsf16_fastcall(a)
806 
807 
808 extern half_t negf16(half_t x);
809 extern half_t negf16_fastcall(half_t x) __z88dk_fastcall;
810 #define negf16(a) negf16_fastcall(a)
811 
812 
813 extern half_t ceilf16(half_t x);
814 extern half_t ceilf16_fastcall(half_t x) __z88dk_fastcall;
815 #define ceilf16(a) ceilf16_fastcall(a)
816 
817 
818 extern half_t floorf16(half_t x);
819 extern half_t floorf16_fastcall(half_t x) __z88dk_fastcall;
820 #define floorf16(a) floorf16_fastcall(a)
821 
822 
823 
824 extern int isgreaterf16(half_t x,half_t y);
825 extern int isgreaterf16_callee(half_t x,half_t y) __z88dk_callee;
826 #define isgreaterf16(a,b) isgreaterf16_callee(a,b)
827 
828 
829 extern int isgreaterequalf16(half_t x,half_t y);
830 extern int isgreaterequalf16_callee(half_t x,half_t y) __z88dk_callee;
831 #define isgreaterequalf16(a,b) isgreaterequalf16_callee(a,b)
832 
833 
834 extern int islessf16(half_t x,half_t y);
835 extern int islessf16_callee(half_t x,half_t y) __z88dk_callee;
836 #define islessf16(a,b) islessf16_callee(a,b)
837 
838 
839 extern int islessequalf16(half_t x,half_t y);
840 extern int islessequalf16_callee(half_t x,half_t y) __z88dk_callee;
841 #define islessequalf16(a,b) islessequalf16_callee(a,b)
842 
843 
844 extern int islessgreaterf16(half_t x,half_t y);
845 extern int islessgreaterf16_callee(half_t x,half_t y) __z88dk_callee;
846 #define islessgreaterf16(a,b) islessgreaterf16_callee(a,b)
847 
848 
849 extern int isnotequalf16(half_t x,half_t y);
850 extern int isnotequalf16_callee(half_t x,half_t y) __z88dk_callee;
851 #define isnotequalf16(a,b) isnotequalf16_callee(a,b)
852 
853 
854 extern int isunorderedf16(half_t x,half_t y);
855 extern int isunorderedf16_callee(half_t x,half_t y) __z88dk_callee;
856 #define isunorderedf16(a,b) isunorderedf16_callee(a,b)
857 
858 
859 
860 #define scalbnf16(x,pw2) ldexpf16(x,pw2)
861 
862 #define truncf16(a) (a>0.?floorf16(a):ceilf16(a))
863 #define roundf16(a) (a>0.?floorf16(a+0.5):ceilf16(a-0.5))
864 #define rintf16(a) ceilf16(a)
865 
866 #endif
867 
868 // NO DISTINCTION BETWEEN FLOAT AND DOUBLE
869 
870 #define acosf        acos
871 #define asinf        asin
872 #define atanf        atan
873 #define atan2f       atan2
874 
875 #define cosf         cos
876 #define sinf         sin
877 #define tanf         tan
878 
879 #define acoshf       acosh
880 #define asinhf       asinh
881 #define atanhf       atanh
882 
883 #define coshf        cosh
884 #define sinhf        sinh
885 #define tanhf        tanh
886 
887 #define expf         exp
888 #define exp2f        exp2
889 #define exp10f       exp10
890 #define expm1f       expm1
891 #define frexpf       frexp
892 #define ilogbf       ilogb
893 #define ldexpf       ldexp
894 
895 #define logf         log
896 #define log2f        log2
897 #define log10f       log10
898 #define log1pf       log1p
899 #define logbf        logb
900 
901 #define scalbnf      scalbn
902 #define scalblnf     scalbln
903 
904 #define fabsf        fabs
905 #define hypotf       hypot
906 
907 #define powf         pow
908 #define sqrtf        sqrt
909 #define cbrtf        cbrt
910 
911 #define erff         erf
912 #define erfcf        erfc
913 #define lgammaf      lgamma
914 #define tgammaf      tgamma
915 
916 #define ceilf        ceil
917 #define floorf       floor
918 #define nearbyintf   nearbyint
919 #define rintf        rint
920 #define lrintf       lrint
921 #define llrintf      llrint
922 #define roundf       round
923 #define lroundf      lround
924 #define llroundf     llround
925 #define truncf       trunc
926 
927 #define modff        modf
928 #define fmodf        fmod
929 #define remainderf   remainder
930 #define remquof      remquo
931 
932 #define copysignf    copysign
933 #define nanf         nan
934 
935 #define nextafterf   nextafter
936 #define nexttowardf  nexttoward
937 
938 #define fdimf        fdim
939 
940 #define fmaxf        fmax
941 #define fminf        fmin
942 
943 #define fmaf         fma
944 
945 #ifdef __MATH_MATH32
946 
947 #define sqrf         sqr
948 #define invf         inv
949 #define invsqrtf     insqrt
950 #define div2f        div2
951 #define mul2f        mul2
952 #define mul10uf      mul10u
953 #define exp10f       exp10
954 #define polyf        poly
955 
956 #endif
957 
958 #ifdef __MATH_AM9511
959 
960 #define sqrf         sqr
961 #define div2f        div2
962 #define mul2f        mul2
963 #define mul10uf      mul10u
964 #define exp10f       exp10
965 
966 #endif
967 
968 #endif
969