2 * D header file for C99.
4 * Copyright: Public Domain
5 * License: Public Domain
6 * Authors: Sean Kelly, Walter Bright
7 * Standards: ISO/IEC 9899:1999 (E)
11 private import stdc.config;
12 private static import stdc.math;
13 private static import stdc.complex;
19 alias stdc.math.acos acos;
20 alias stdc.math.acosf acos;
21 alias stdc.math.acosl acos;
23 alias stdc.complex.cacos acos;
24 alias stdc.complex.cacosf acos;
25 alias stdc.complex.cacosl acos;
27 alias stdc.math.asin asin;
28 alias stdc.math.asinf asin;
29 alias stdc.math.asinl asin;
31 alias stdc.complex.casin asin;
32 alias stdc.complex.casinf asin;
33 alias stdc.complex.casinl asin;
35 alias stdc.math.atan atan;
36 alias stdc.math.atanf atan;
37 alias stdc.math.atanl atan;
39 alias stdc.complex.catan atan;
40 alias stdc.complex.catanf atan;
41 alias stdc.complex.catanl atan;
43 alias stdc.math.atan2 atan2;
44 alias stdc.math.atan2f atan2;
45 alias stdc.math.atan2l atan2;
47 alias stdc.math.cos cos;
48 alias stdc.math.cosf cos;
49 alias stdc.math.cosl cos;
51 alias stdc.complex.ccos cos;
52 alias stdc.complex.ccosf cos;
53 alias stdc.complex.ccosl cos;
55 alias stdc.math.sin sin;
56 alias stdc.math.sinf sin;
57 alias stdc.math.sinl sin;
59 alias stdc.complex.csin csin;
60 alias stdc.complex.csinf csin;
61 alias stdc.complex.csinl csin;
63 alias stdc.math.tan tan;
64 alias stdc.math.tanf tan;
65 alias stdc.math.tanl tan;
67 alias stdc.complex.ctan tan;
68 alias stdc.complex.ctanf tan;
69 alias stdc.complex.ctanl tan;
71 alias stdc.math.acosh acosh;
72 alias stdc.math.acoshf acosh;
73 alias stdc.math.acoshl acosh;
75 alias stdc.complex.cacosh acosh;
76 alias stdc.complex.cacoshf acosh;
77 alias stdc.complex.cacoshl acosh;
79 alias stdc.math.asinh asinh;
80 alias stdc.math.asinhf asinh;
81 alias stdc.math.asinhl asinh;
83 alias stdc.complex.casinh asinh;
84 alias stdc.complex.casinhf asinh;
85 alias stdc.complex.casinhl asinh;
87 alias stdc.math.atanh atanh;
88 alias stdc.math.atanhf atanh;
89 alias stdc.math.atanhl atanh;
91 alias stdc.complex.catanh atanh;
92 alias stdc.complex.catanhf atanh;
93 alias stdc.complex.catanhl atanh;
95 alias stdc.math.cosh cosh;
96 alias stdc.math.coshf cosh;
97 alias stdc.math.coshl cosh;
99 alias stdc.complex.ccosh cosh;
100 alias stdc.complex.ccoshf cosh;
101 alias stdc.complex.ccoshl cosh;
103 alias stdc.math.sinh sinh;
104 alias stdc.math.sinhf sinh;
105 alias stdc.math.sinhl sinh;
107 alias stdc.complex.csinh sinh;
108 alias stdc.complex.csinhf sinh;
109 alias stdc.complex.csinhl sinh;
111 alias stdc.math.tanh tanh;
112 alias stdc.math.tanhf tanh;
113 alias stdc.math.tanhl tanh;
115 alias stdc.complex.ctanh tanh;
116 alias stdc.complex.ctanhf tanh;
117 alias stdc.complex.ctanhl tanh;
119 alias stdc.math.exp exp;
120 alias stdc.math.expf exp;
121 alias stdc.math.expl exp;
123 alias stdc.complex.cexp exp;
124 alias stdc.complex.cexpf exp;
125 alias stdc.complex.cexpl exp;
127 alias stdc.math.exp2 exp2;
128 alias stdc.math.exp2f exp2;
129 alias stdc.math.exp2l exp2;
131 alias stdc.math.expm1 expm1;
132 alias stdc.math.expm1f expm1;
133 alias stdc.math.expm1l expm1;
135 alias stdc.math.frexp frexp;
136 alias stdc.math.frexpf frexp;
137 alias stdc.math.frexpl frexp;
139 alias stdc.math.ilogb ilogb;
140 alias stdc.math.ilogbf ilogb;
141 alias stdc.math.ilogbl ilogb;
143 alias stdc.math.ldexp ldexp;
144 alias stdc.math.ldexpf ldexp;
145 alias stdc.math.ldexpl ldexp;
147 alias stdc.math.log log;
148 alias stdc.math.logf log;
149 alias stdc.math.logl log;
151 alias stdc.complex.clog log;
152 alias stdc.complex.clogf log;
153 alias stdc.complex.clogl log;
155 alias stdc.math.log10 log10;
156 alias stdc.math.log10f log10;
157 alias stdc.math.log10l log10;
159 alias stdc.math.log1p log1p;
160 alias stdc.math.log1pf log1p;
161 alias stdc.math.log1pl log1p;
163 alias stdc.math.log2 log1p;
164 alias stdc.math.log2f log1p;
165 alias stdc.math.log2l log1p;
167 alias stdc.math.logb log1p;
168 alias stdc.math.logbf log1p;
169 alias stdc.math.logbl log1p;
171 alias stdc.math.modf modf;
172 alias stdc.math.modff modf;
173 // alias stdc.math.modfl modf;
175 alias stdc.math.scalbn scalbn;
176 alias stdc.math.scalbnf scalbn;
177 alias stdc.math.scalbnl scalbn;
179 alias stdc.math.scalbln scalbln;
180 alias stdc.math.scalblnf scalbln;
181 alias stdc.math.scalblnl scalbln;
183 alias stdc.math.cbrt cbrt;
184 alias stdc.math.cbrtf cbrt;
185 alias stdc.math.cbrtl cbrt;
187 alias stdc.math.fabs fabs;
188 alias stdc.math.fabsf fabs;
189 alias stdc.math.fabsl fabs;
191 alias stdc.complex.cabs fabs;
192 alias stdc.complex.cabsf fabs;
193 alias stdc.complex.cabsl fabs;
195 alias stdc.math.hypot hypot;
196 alias stdc.math.hypotf hypot;
197 alias stdc.math.hypotl hypot;
199 alias stdc.math.pow pow;
200 alias stdc.math.powf pow;
201 alias stdc.math.powl pow;
203 alias stdc.complex.cpow pow;
204 alias stdc.complex.cpowf pow;
205 alias stdc.complex.cpowl pow;
207 alias stdc.math.sqrt sqrt;
208 alias stdc.math.sqrtf sqrt;
209 alias stdc.math.sqrtl sqrt;
211 alias stdc.complex.csqrt sqrt;
212 alias stdc.complex.csqrtf sqrt;
213 alias stdc.complex.csqrtl sqrt;
215 alias stdc.math.erf erf;
216 alias stdc.math.erff erf;
217 alias stdc.math.erfl erf;
219 alias stdc.math.erfc erfc;
220 alias stdc.math.erfcf erfc;
221 alias stdc.math.erfcl erfc;
223 alias stdc.math.lgamma lgamma;
224 alias stdc.math.lgammaf lgamma;
225 alias stdc.math.lgammal lgamma;
227 alias stdc.math.tgamma tgamma;
228 alias stdc.math.tgammaf tgamma;
229 alias stdc.math.tgammal tgamma;
231 alias stdc.math.ceil ceil;
232 alias stdc.math.ceilf ceil;
233 alias stdc.math.ceill ceil;
235 alias stdc.math.floor floor;
236 alias stdc.math.floorf floor;
237 alias stdc.math.floorl floor;
239 alias stdc.math.nearbyint nearbyint;
240 alias stdc.math.nearbyintf nearbyint;
241 alias stdc.math.nearbyintl nearbyint;
243 alias stdc.math.rint rint;
244 alias stdc.math.rintf rint;
245 alias stdc.math.rintl rint;
247 alias stdc.math.lrint lrint;
248 alias stdc.math.lrintf lrint;
249 alias stdc.math.lrintl lrint;
251 alias stdc.math.llrint llrint;
252 alias stdc.math.llrintf llrint;
253 alias stdc.math.llrintl llrint;
255 alias stdc.math.round round;
256 alias stdc.math.roundf round;
257 alias stdc.math.roundl round;
259 alias stdc.math.lround lround;
260 alias stdc.math.lroundf lround;
261 alias stdc.math.lroundl lround;
263 alias stdc.math.llround llround;
264 alias stdc.math.llroundf llround;
265 alias stdc.math.llroundl llround;
267 alias stdc.math.trunc trunc;
268 alias stdc.math.truncf trunc;
269 alias stdc.math.truncl trunc;
271 alias stdc.math.fmod fmod;
272 alias stdc.math.fmodf fmod;
273 alias stdc.math.fmodl fmod;
275 alias stdc.math.remainder remainder;
276 alias stdc.math.remainderf remainder;
277 alias stdc.math.remainderl remainder;
279 alias stdc.math.remquo remquo;
280 alias stdc.math.remquof remquo;
281 alias stdc.math.remquol remquo;
283 alias stdc.math.copysign copysign;
284 alias stdc.math.copysignf copysign;
285 alias stdc.math.copysignl copysign;
287 // alias stdc.math.nan nan;
288 // alias stdc.math.nanf nan;
289 // alias stdc.math.nanl nan;
291 alias stdc.math.nextafter nextafter;
292 alias stdc.math.nextafterf nextafter;
293 alias stdc.math.nextafterl nextafter;
295 alias stdc.math.nexttoward nexttoward;
296 alias stdc.math.nexttowardf nexttoward;
297 alias stdc.math.nexttowardl nexttoward;
299 alias stdc.math.fdim fdim;
300 alias stdc.math.fdimf fdim;
301 alias stdc.math.fdiml fdim;
303 alias stdc.math.fmax fmax;
304 alias stdc.math.fmaxf fmax;
305 alias stdc.math.fmaxl fmax;
307 alias stdc.math.fmin fmin;
308 alias stdc.math.fmin fmin;
309 alias stdc.math.fminl fmin;
311 alias stdc.math.fma fma;
312 alias stdc.math.fmaf fma;
313 alias stdc.math.fmal fma;
315 alias stdc.complex.carg carg;
316 alias stdc.complex.cargf carg;
317 alias stdc.complex.cargl carg;
319 alias stdc.complex.cimag cimag;
320 alias stdc.complex.cimagf cimag;
321 alias stdc.complex.cimagl cimag;
323 alias stdc.complex.conj conj;
324 alias stdc.complex.conjf conj;
325 alias stdc.complex.conjl conj;
327 alias stdc.complex.cproj cproj;
328 alias stdc.complex.cprojf cproj;
329 alias stdc.complex.cprojl cproj;
331 // alias stdc.complex.creal creal;
332 // alias stdc.complex.crealf creal;
333 // alias stdc.complex.creall creal;
337 alias stdc.math.acos acos;
338 alias stdc.math.acosf acos;
339 alias stdc.math.acosl acos;
341 alias stdc.complex.cacos acos;
342 alias stdc.complex.cacosf acos;
343 alias stdc.complex.cacosl acos;
345 alias stdc.math.asin asin;
346 alias stdc.math.asinf asin;
347 alias stdc.math.asinl asin;
349 alias stdc.complex.casin asin;
350 alias stdc.complex.casinf asin;
351 alias stdc.complex.casinl asin;
353 alias stdc.math.atan atan;
354 alias stdc.math.atanf atan;
355 alias stdc.math.atanl atan;
357 alias stdc.complex.catan atan;
358 alias stdc.complex.catanf atan;
359 alias stdc.complex.catanl atan;
361 alias stdc.math.atan2 atan2;
362 alias stdc.math.atan2f atan2;
363 alias stdc.math.atan2l atan2;
365 alias stdc.math.cos cos;
366 alias stdc.math.cosf cos;
367 alias stdc.math.cosl cos;
369 alias stdc.complex.ccos cos;
370 alias stdc.complex.ccosf cos;
371 alias stdc.complex.ccosl cos;
373 alias stdc.math.sin sin;
374 alias stdc.math.sinf sin;
375 alias stdc.math.sinl sin;
377 alias stdc.complex.csin csin;
378 alias stdc.complex.csinf csin;
379 alias stdc.complex.csinl csin;
381 alias stdc.math.tan tan;
382 alias stdc.math.tanf tan;
383 alias stdc.math.tanl tan;
385 alias stdc.complex.ctan tan;
386 alias stdc.complex.ctanf tan;
387 alias stdc.complex.ctanl tan;
389 alias stdc.math.acosh acosh;
390 alias stdc.math.acoshf acosh;
391 alias stdc.math.acoshl acosh;
393 alias stdc.complex.cacosh acosh;
394 alias stdc.complex.cacoshf acosh;
395 alias stdc.complex.cacoshl acosh;
397 alias stdc.math.asinh asinh;
398 alias stdc.math.asinhf asinh;
399 alias stdc.math.asinhl asinh;
401 alias stdc.complex.casinh asinh;
402 alias stdc.complex.casinhf asinh;
403 alias stdc.complex.casinhl asinh;
405 alias stdc.math.atanh atanh;
406 alias stdc.math.atanhf atanh;
407 alias stdc.math.atanhl atanh;
409 alias stdc.complex.catanh atanh;
410 alias stdc.complex.catanhf atanh;
411 alias stdc.complex.catanhl atanh;
413 alias stdc.math.cosh cosh;
414 alias stdc.math.coshf cosh;
415 alias stdc.math.coshl cosh;
417 alias stdc.complex.ccosh cosh;
418 alias stdc.complex.ccoshf cosh;
419 alias stdc.complex.ccoshl cosh;
421 alias stdc.math.sinh sinh;
422 alias stdc.math.sinhf sinh;
423 alias stdc.math.sinhl sinh;
425 alias stdc.complex.csinh sinh;
426 alias stdc.complex.csinhf sinh;
427 alias stdc.complex.csinhl sinh;
429 alias stdc.math.tanh tanh;
430 alias stdc.math.tanhf tanh;
431 alias stdc.math.tanhl tanh;
433 alias stdc.complex.ctanh tanh;
434 alias stdc.complex.ctanhf tanh;
435 alias stdc.complex.ctanhl tanh;
437 alias stdc.math.exp exp;
438 alias stdc.math.expf exp;
439 alias stdc.math.expl exp;
441 alias stdc.complex.cexp exp;
442 alias stdc.complex.cexpf exp;
443 alias stdc.complex.cexpl exp;
445 alias stdc.math.exp2 exp2;
446 alias stdc.math.exp2f exp2;
447 alias stdc.math.exp2l exp2;
449 alias stdc.math.expm1 expm1;
450 alias stdc.math.expm1f expm1;
451 alias stdc.math.expm1l expm1;
453 alias stdc.math.frexp frexp;
454 alias stdc.math.frexpf frexp;
455 alias stdc.math.frexpl frexp;
457 alias stdc.math.ilogb ilogb;
458 alias stdc.math.ilogbf ilogb;
459 alias stdc.math.ilogbl ilogb;
461 alias stdc.math.ldexp ldexp;
462 alias stdc.math.ldexpf ldexp;
463 alias stdc.math.ldexpl ldexp;
465 alias stdc.math.log log;
466 alias stdc.math.logf log;
467 alias stdc.math.logl log;
469 alias stdc.complex.clog log;
470 alias stdc.complex.clogf log;
471 alias stdc.complex.clogl log;
473 alias stdc.math.log10 log10;
474 alias stdc.math.log10f log10;
475 alias stdc.math.log10l log10;
477 alias stdc.math.log1p log1p;
478 alias stdc.math.log1pf log1p;
479 alias stdc.math.log1pl log1p;
481 alias stdc.math.log2 log1p;
482 alias stdc.math.log2f log1p;
483 alias stdc.math.log2l log1p;
485 alias stdc.math.logb log1p;
486 alias stdc.math.logbf log1p;
487 alias stdc.math.logbl log1p;
489 alias stdc.math.modf modf;
490 alias stdc.math.modff modf;
491 alias stdc.math.modfl modf;
493 alias stdc.math.scalbn scalbn;
494 alias stdc.math.scalbnf scalbn;
495 alias stdc.math.scalbnl scalbn;
497 alias stdc.math.scalbln scalbln;
498 alias stdc.math.scalblnf scalbln;
499 alias stdc.math.scalblnl scalbln;
501 alias stdc.math.cbrt cbrt;
502 alias stdc.math.cbrtf cbrt;
503 alias stdc.math.cbrtl cbrt;
505 alias stdc.math.fabs fabs;
506 alias stdc.math.fabsf fabs;
507 alias stdc.math.fabsl fabs;
509 alias stdc.complex.cabs fabs;
510 alias stdc.complex.cabsf fabs;
511 alias stdc.complex.cabsl fabs;
513 alias stdc.math.hypot hypot;
514 alias stdc.math.hypotf hypot;
515 alias stdc.math.hypotl hypot;
517 alias stdc.math.pow pow;
518 alias stdc.math.powf pow;
519 alias stdc.math.powl pow;
521 alias stdc.complex.cpow pow;
522 alias stdc.complex.cpowf pow;
523 alias stdc.complex.cpowl pow;
525 alias stdc.math.sqrt sqrt;
526 alias stdc.math.sqrtf sqrt;
527 alias stdc.math.sqrtl sqrt;
529 alias stdc.complex.csqrt sqrt;
530 alias stdc.complex.csqrtf sqrt;
531 alias stdc.complex.csqrtl sqrt;
533 alias stdc.math.erf erf;
534 alias stdc.math.erff erf;
535 alias stdc.math.erfl erf;
537 alias stdc.math.erfc erfc;
538 alias stdc.math.erfcf erfc;
539 alias stdc.math.erfcl erfc;
541 alias stdc.math.lgamma lgamma;
542 alias stdc.math.lgammaf lgamma;
543 alias stdc.math.lgammal lgamma;
545 alias stdc.math.tgamma tgamma;
546 alias stdc.math.tgammaf tgamma;
547 alias stdc.math.tgammal tgamma;
549 alias stdc.math.ceil ceil;
550 alias stdc.math.ceilf ceil;
551 alias stdc.math.ceill ceil;
553 alias stdc.math.floor floor;
554 alias stdc.math.floorf floor;
555 alias stdc.math.floorl floor;
557 alias stdc.math.nearbyint nearbyint;
558 alias stdc.math.nearbyintf nearbyint;
559 alias stdc.math.nearbyintl nearbyint;
561 alias stdc.math.rint rint;
562 alias stdc.math.rintf rint;
563 alias stdc.math.rintl rint;
565 alias stdc.math.lrint lrint;
566 alias stdc.math.lrintf lrint;
567 alias stdc.math.lrintl lrint;
569 alias stdc.math.llrint llrint;
570 alias stdc.math.llrintf llrint;
571 alias stdc.math.llrintl llrint;
573 alias stdc.math.round round;
574 alias stdc.math.roundf round;
575 alias stdc.math.roundl round;
577 alias stdc.math.lround lround;
578 alias stdc.math.lroundf lround;
579 alias stdc.math.lroundl lround;
581 alias stdc.math.llround llround;
582 alias stdc.math.llroundf llround;
583 alias stdc.math.llroundl llround;
585 alias stdc.math.trunc trunc;
586 alias stdc.math.truncf trunc;
587 alias stdc.math.truncl trunc;
589 alias stdc.math.fmod fmod;
590 alias stdc.math.fmodf fmod;
591 alias stdc.math.fmodl fmod;
593 alias stdc.math.remainder remainder;
594 alias stdc.math.remainderf remainder;
595 alias stdc.math.remainderl remainder;
597 alias stdc.math.remquo remquo;
598 alias stdc.math.remquof remquo;
599 alias stdc.math.remquol remquo;
601 alias stdc.math.copysign copysign;
602 alias stdc.math.copysignf copysign;
603 alias stdc.math.copysignl copysign;
605 alias stdc.math.nan nan;
606 alias stdc.math.nanf nan;
607 alias stdc.math.nanl nan;
609 alias stdc.math.nextafter nextafter;
610 alias stdc.math.nextafterf nextafter;
611 alias stdc.math.nextafterl nextafter;
613 alias stdc.math.nexttoward nexttoward;
614 alias stdc.math.nexttowardf nexttoward;
615 alias stdc.math.nexttowardl nexttoward;
617 alias stdc.math.fdim fdim;
618 alias stdc.math.fdimf fdim;
619 alias stdc.math.fdiml fdim;
621 alias stdc.math.fmax fmax;
622 alias stdc.math.fmaxf fmax;
623 alias stdc.math.fmaxl fmax;
625 alias stdc.math.fmin fmin;
626 alias stdc.math.fmin fmin;
627 alias stdc.math.fminl fmin;
629 alias stdc.math.fma fma;
630 alias stdc.math.fmaf fma;
631 alias stdc.math.fmal fma;
633 alias stdc.complex.carg carg;
634 alias stdc.complex.cargf carg;
635 alias stdc.complex.cargl carg;
637 alias stdc.complex.cimag cimag;
638 alias stdc.complex.cimagf cimag;
639 alias stdc.complex.cimagl cimag;
641 alias stdc.complex.conj conj;
642 alias stdc.complex.conjf conj;
643 alias stdc.complex.conjl conj;
645 alias stdc.complex.cproj cproj;
646 alias stdc.complex.cprojf cproj;
647 alias stdc.complex.cprojl cproj;
649 // alias stdc.complex.creal creal;
650 // alias stdc.complex.crealf creal;
651 // alias stdc.complex.creall creal;