]> git.llucax.com Git - software/druntime.git/blob - import/stdc/tgmath.d
Fixed a few build script issues on posix, including a bug in looking for some of...
[software/druntime.git] / import / stdc / tgmath.d
1 /**
2  * D header file for C99.
3  *
4  * Copyright: Public Domain
5  * License:   Public Domain
6  * Authors:   Sean Kelly, Walter Bright
7  * Standards: ISO/IEC 9899:1999 (E)
8  */
9 module stdc.tgmath;
10
11 private import stdc.config;
12 private static import stdc.math;
13 private static import stdc.complex;
14
15 extern (C):
16
17 version( freebsd )
18 {
19     alias stdc.math.acos          acos;
20     alias stdc.math.acosf         acos;
21     alias stdc.math.acosl         acos;
22
23     alias stdc.complex.cacos      acos;
24     alias stdc.complex.cacosf     acos;
25     alias stdc.complex.cacosl     acos;
26
27     alias stdc.math.asin          asin;
28     alias stdc.math.asinf         asin;
29     alias stdc.math.asinl         asin;
30
31     alias stdc.complex.casin      asin;
32     alias stdc.complex.casinf     asin;
33     alias stdc.complex.casinl     asin;
34
35     alias stdc.math.atan          atan;
36     alias stdc.math.atanf         atan;
37     alias stdc.math.atanl         atan;
38
39     alias stdc.complex.catan      atan;
40     alias stdc.complex.catanf     atan;
41     alias stdc.complex.catanl     atan;
42
43     alias stdc.math.atan2         atan2;
44     alias stdc.math.atan2f        atan2;
45     alias stdc.math.atan2l        atan2;
46
47     alias stdc.math.cos           cos;
48     alias stdc.math.cosf          cos;
49     alias stdc.math.cosl          cos;
50
51     alias stdc.complex.ccos       cos;
52     alias stdc.complex.ccosf      cos;
53     alias stdc.complex.ccosl      cos;
54
55     alias stdc.math.sin           sin;
56     alias stdc.math.sinf          sin;
57     alias stdc.math.sinl          sin;
58
59     alias stdc.complex.csin       csin;
60     alias stdc.complex.csinf      csin;
61     alias stdc.complex.csinl      csin;
62
63     alias stdc.math.tan           tan;
64     alias stdc.math.tanf          tan;
65     alias stdc.math.tanl          tan;
66
67     alias stdc.complex.ctan       tan;
68     alias stdc.complex.ctanf      tan;
69     alias stdc.complex.ctanl      tan;
70
71     alias stdc.math.acosh         acosh;
72     alias stdc.math.acoshf        acosh;
73     alias stdc.math.acoshl        acosh;
74
75     alias stdc.complex.cacosh     acosh;
76     alias stdc.complex.cacoshf    acosh;
77     alias stdc.complex.cacoshl    acosh;
78
79     alias stdc.math.asinh         asinh;
80     alias stdc.math.asinhf        asinh;
81     alias stdc.math.asinhl        asinh;
82
83     alias stdc.complex.casinh     asinh;
84     alias stdc.complex.casinhf    asinh;
85     alias stdc.complex.casinhl    asinh;
86
87     alias stdc.math.atanh         atanh;
88     alias stdc.math.atanhf        atanh;
89     alias stdc.math.atanhl        atanh;
90
91     alias stdc.complex.catanh     atanh;
92     alias stdc.complex.catanhf    atanh;
93     alias stdc.complex.catanhl    atanh;
94
95     alias stdc.math.cosh          cosh;
96     alias stdc.math.coshf         cosh;
97     alias stdc.math.coshl         cosh;
98
99     alias stdc.complex.ccosh      cosh;
100     alias stdc.complex.ccoshf     cosh;
101     alias stdc.complex.ccoshl     cosh;
102
103     alias stdc.math.sinh          sinh;
104     alias stdc.math.sinhf         sinh;
105     alias stdc.math.sinhl         sinh;
106
107     alias stdc.complex.csinh      sinh;
108     alias stdc.complex.csinhf     sinh;
109     alias stdc.complex.csinhl     sinh;
110
111     alias stdc.math.tanh          tanh;
112     alias stdc.math.tanhf         tanh;
113     alias stdc.math.tanhl         tanh;
114
115     alias stdc.complex.ctanh      tanh;
116     alias stdc.complex.ctanhf     tanh;
117     alias stdc.complex.ctanhl     tanh;
118
119     alias stdc.math.exp           exp;
120     alias stdc.math.expf          exp;
121     alias stdc.math.expl          exp;
122
123     alias stdc.complex.cexp       exp;
124     alias stdc.complex.cexpf      exp;
125     alias stdc.complex.cexpl      exp;
126
127     alias stdc.math.exp2          exp2;
128     alias stdc.math.exp2f         exp2;
129     alias stdc.math.exp2l         exp2;
130
131     alias stdc.math.expm1         expm1;
132     alias stdc.math.expm1f        expm1;
133     alias stdc.math.expm1l        expm1;
134
135     alias stdc.math.frexp         frexp;
136     alias stdc.math.frexpf        frexp;
137     alias stdc.math.frexpl        frexp;
138
139     alias stdc.math.ilogb         ilogb;
140     alias stdc.math.ilogbf        ilogb;
141     alias stdc.math.ilogbl        ilogb;
142
143     alias stdc.math.ldexp         ldexp;
144     alias stdc.math.ldexpf        ldexp;
145     alias stdc.math.ldexpl        ldexp;
146
147     alias stdc.math.log           log;
148     alias stdc.math.logf          log;
149     alias stdc.math.logl          log;
150
151     alias stdc.complex.clog       log;
152     alias stdc.complex.clogf      log;
153     alias stdc.complex.clogl      log;
154
155     alias stdc.math.log10         log10;
156     alias stdc.math.log10f        log10;
157     alias stdc.math.log10l        log10;
158
159     alias stdc.math.log1p         log1p;
160     alias stdc.math.log1pf        log1p;
161     alias stdc.math.log1pl        log1p;
162
163     alias stdc.math.log2          log1p;
164     alias stdc.math.log2f         log1p;
165     alias stdc.math.log2l         log1p;
166
167     alias stdc.math.logb          log1p;
168     alias stdc.math.logbf         log1p;
169     alias stdc.math.logbl         log1p;
170
171     alias stdc.math.modf          modf;
172     alias stdc.math.modff         modf;
173 //  alias stdc.math.modfl         modf;
174
175     alias stdc.math.scalbn        scalbn;
176     alias stdc.math.scalbnf       scalbn;
177     alias stdc.math.scalbnl       scalbn;
178
179     alias stdc.math.scalbln       scalbln;
180     alias stdc.math.scalblnf      scalbln;
181     alias stdc.math.scalblnl      scalbln;
182
183     alias stdc.math.cbrt          cbrt;
184     alias stdc.math.cbrtf         cbrt;
185     alias stdc.math.cbrtl         cbrt;
186
187     alias stdc.math.fabs          fabs;
188     alias stdc.math.fabsf         fabs;
189     alias stdc.math.fabsl         fabs;
190
191     alias stdc.complex.cabs       fabs;
192     alias stdc.complex.cabsf      fabs;
193     alias stdc.complex.cabsl      fabs;
194
195     alias stdc.math.hypot         hypot;
196     alias stdc.math.hypotf        hypot;
197     alias stdc.math.hypotl        hypot;
198
199     alias stdc.math.pow           pow;
200     alias stdc.math.powf          pow;
201     alias stdc.math.powl          pow;
202
203     alias stdc.complex.cpow       pow;
204     alias stdc.complex.cpowf      pow;
205     alias stdc.complex.cpowl      pow;
206
207     alias stdc.math.sqrt          sqrt;
208     alias stdc.math.sqrtf         sqrt;
209     alias stdc.math.sqrtl         sqrt;
210
211     alias stdc.complex.csqrt      sqrt;
212     alias stdc.complex.csqrtf     sqrt;
213     alias stdc.complex.csqrtl     sqrt;
214
215     alias stdc.math.erf           erf;
216     alias stdc.math.erff          erf;
217     alias stdc.math.erfl          erf;
218
219     alias stdc.math.erfc          erfc;
220     alias stdc.math.erfcf         erfc;
221     alias stdc.math.erfcl         erfc;
222
223     alias stdc.math.lgamma        lgamma;
224     alias stdc.math.lgammaf       lgamma;
225     alias stdc.math.lgammal       lgamma;
226
227     alias stdc.math.tgamma        tgamma;
228     alias stdc.math.tgammaf       tgamma;
229     alias stdc.math.tgammal       tgamma;
230
231     alias stdc.math.ceil          ceil;
232     alias stdc.math.ceilf         ceil;
233     alias stdc.math.ceill         ceil;
234
235     alias stdc.math.floor         floor;
236     alias stdc.math.floorf        floor;
237     alias stdc.math.floorl        floor;
238
239     alias stdc.math.nearbyint     nearbyint;
240     alias stdc.math.nearbyintf    nearbyint;
241     alias stdc.math.nearbyintl    nearbyint;
242
243     alias stdc.math.rint          rint;
244     alias stdc.math.rintf         rint;
245     alias stdc.math.rintl         rint;
246
247     alias stdc.math.lrint         lrint;
248     alias stdc.math.lrintf        lrint;
249     alias stdc.math.lrintl        lrint;
250
251     alias stdc.math.llrint        llrint;
252     alias stdc.math.llrintf       llrint;
253     alias stdc.math.llrintl       llrint;
254
255     alias stdc.math.round         round;
256     alias stdc.math.roundf        round;
257     alias stdc.math.roundl        round;
258
259     alias stdc.math.lround        lround;
260     alias stdc.math.lroundf       lround;
261     alias stdc.math.lroundl       lround;
262
263     alias stdc.math.llround       llround;
264     alias stdc.math.llroundf      llround;
265     alias stdc.math.llroundl      llround;
266
267     alias stdc.math.trunc         trunc;
268     alias stdc.math.truncf        trunc;
269     alias stdc.math.truncl        trunc;
270
271     alias stdc.math.fmod          fmod;
272     alias stdc.math.fmodf         fmod;
273     alias stdc.math.fmodl         fmod;
274
275     alias stdc.math.remainder     remainder;
276     alias stdc.math.remainderf    remainder;
277     alias stdc.math.remainderl    remainder;
278
279     alias stdc.math.remquo        remquo;
280     alias stdc.math.remquof       remquo;
281     alias stdc.math.remquol       remquo;
282
283     alias stdc.math.copysign      copysign;
284     alias stdc.math.copysignf     copysign;
285     alias stdc.math.copysignl     copysign;
286
287 //  alias stdc.math.nan           nan;
288 //  alias stdc.math.nanf          nan;
289 //  alias stdc.math.nanl          nan;
290
291     alias stdc.math.nextafter     nextafter;
292     alias stdc.math.nextafterf    nextafter;
293     alias stdc.math.nextafterl    nextafter;
294
295     alias stdc.math.nexttoward    nexttoward;
296     alias stdc.math.nexttowardf   nexttoward;
297     alias stdc.math.nexttowardl   nexttoward;
298
299     alias stdc.math.fdim          fdim;
300     alias stdc.math.fdimf         fdim;
301     alias stdc.math.fdiml         fdim;
302
303     alias stdc.math.fmax          fmax;
304     alias stdc.math.fmaxf         fmax;
305     alias stdc.math.fmaxl         fmax;
306
307     alias stdc.math.fmin          fmin;
308     alias stdc.math.fmin          fmin;
309     alias stdc.math.fminl         fmin;
310
311     alias stdc.math.fma           fma;
312     alias stdc.math.fmaf          fma;
313     alias stdc.math.fmal          fma;
314
315     alias stdc.complex.carg       carg;
316     alias stdc.complex.cargf      carg;
317     alias stdc.complex.cargl      carg;
318
319     alias stdc.complex.cimag      cimag;
320     alias stdc.complex.cimagf     cimag;
321     alias stdc.complex.cimagl     cimag;
322
323     alias stdc.complex.conj       conj;
324     alias stdc.complex.conjf      conj;
325     alias stdc.complex.conjl      conj;
326
327     alias stdc.complex.cproj      cproj;
328     alias stdc.complex.cprojf     cproj;
329     alias stdc.complex.cprojl     cproj;
330
331 //  alias stdc.complex.creal      creal;
332 //  alias stdc.complex.crealf     creal;
333 //  alias stdc.complex.creall     creal;
334 }
335 else
336 {
337     alias stdc.math.acos          acos;
338     alias stdc.math.acosf         acos;
339     alias stdc.math.acosl         acos;
340
341     alias stdc.complex.cacos      acos;
342     alias stdc.complex.cacosf     acos;
343     alias stdc.complex.cacosl     acos;
344
345     alias stdc.math.asin          asin;
346     alias stdc.math.asinf         asin;
347     alias stdc.math.asinl         asin;
348
349     alias stdc.complex.casin      asin;
350     alias stdc.complex.casinf     asin;
351     alias stdc.complex.casinl     asin;
352
353     alias stdc.math.atan          atan;
354     alias stdc.math.atanf         atan;
355     alias stdc.math.atanl         atan;
356
357     alias stdc.complex.catan      atan;
358     alias stdc.complex.catanf     atan;
359     alias stdc.complex.catanl     atan;
360
361     alias stdc.math.atan2         atan2;
362     alias stdc.math.atan2f        atan2;
363     alias stdc.math.atan2l        atan2;
364
365     alias stdc.math.cos           cos;
366     alias stdc.math.cosf          cos;
367     alias stdc.math.cosl          cos;
368
369     alias stdc.complex.ccos       cos;
370     alias stdc.complex.ccosf      cos;
371     alias stdc.complex.ccosl      cos;
372
373     alias stdc.math.sin           sin;
374     alias stdc.math.sinf          sin;
375     alias stdc.math.sinl          sin;
376
377     alias stdc.complex.csin       csin;
378     alias stdc.complex.csinf      csin;
379     alias stdc.complex.csinl      csin;
380
381     alias stdc.math.tan           tan;
382     alias stdc.math.tanf          tan;
383     alias stdc.math.tanl          tan;
384
385     alias stdc.complex.ctan       tan;
386     alias stdc.complex.ctanf      tan;
387     alias stdc.complex.ctanl      tan;
388
389     alias stdc.math.acosh         acosh;
390     alias stdc.math.acoshf        acosh;
391     alias stdc.math.acoshl        acosh;
392
393     alias stdc.complex.cacosh     acosh;
394     alias stdc.complex.cacoshf    acosh;
395     alias stdc.complex.cacoshl    acosh;
396
397     alias stdc.math.asinh         asinh;
398     alias stdc.math.asinhf        asinh;
399     alias stdc.math.asinhl        asinh;
400
401     alias stdc.complex.casinh     asinh;
402     alias stdc.complex.casinhf    asinh;
403     alias stdc.complex.casinhl    asinh;
404
405     alias stdc.math.atanh         atanh;
406     alias stdc.math.atanhf        atanh;
407     alias stdc.math.atanhl        atanh;
408
409     alias stdc.complex.catanh     atanh;
410     alias stdc.complex.catanhf    atanh;
411     alias stdc.complex.catanhl    atanh;
412
413     alias stdc.math.cosh          cosh;
414     alias stdc.math.coshf         cosh;
415     alias stdc.math.coshl         cosh;
416
417     alias stdc.complex.ccosh      cosh;
418     alias stdc.complex.ccoshf     cosh;
419     alias stdc.complex.ccoshl     cosh;
420
421     alias stdc.math.sinh          sinh;
422     alias stdc.math.sinhf         sinh;
423     alias stdc.math.sinhl         sinh;
424
425     alias stdc.complex.csinh      sinh;
426     alias stdc.complex.csinhf     sinh;
427     alias stdc.complex.csinhl     sinh;
428
429     alias stdc.math.tanh          tanh;
430     alias stdc.math.tanhf         tanh;
431     alias stdc.math.tanhl         tanh;
432
433     alias stdc.complex.ctanh      tanh;
434     alias stdc.complex.ctanhf     tanh;
435     alias stdc.complex.ctanhl     tanh;
436
437     alias stdc.math.exp           exp;
438     alias stdc.math.expf          exp;
439     alias stdc.math.expl          exp;
440
441     alias stdc.complex.cexp       exp;
442     alias stdc.complex.cexpf      exp;
443     alias stdc.complex.cexpl      exp;
444
445     alias stdc.math.exp2          exp2;
446     alias stdc.math.exp2f         exp2;
447     alias stdc.math.exp2l         exp2;
448
449     alias stdc.math.expm1         expm1;
450     alias stdc.math.expm1f        expm1;
451     alias stdc.math.expm1l        expm1;
452
453     alias stdc.math.frexp         frexp;
454     alias stdc.math.frexpf        frexp;
455     alias stdc.math.frexpl        frexp;
456
457     alias stdc.math.ilogb         ilogb;
458     alias stdc.math.ilogbf        ilogb;
459     alias stdc.math.ilogbl        ilogb;
460
461     alias stdc.math.ldexp         ldexp;
462     alias stdc.math.ldexpf        ldexp;
463     alias stdc.math.ldexpl        ldexp;
464
465     alias stdc.math.log           log;
466     alias stdc.math.logf          log;
467     alias stdc.math.logl          log;
468
469     alias stdc.complex.clog       log;
470     alias stdc.complex.clogf      log;
471     alias stdc.complex.clogl      log;
472
473     alias stdc.math.log10         log10;
474     alias stdc.math.log10f        log10;
475     alias stdc.math.log10l        log10;
476
477     alias stdc.math.log1p         log1p;
478     alias stdc.math.log1pf        log1p;
479     alias stdc.math.log1pl        log1p;
480
481     alias stdc.math.log2          log1p;
482     alias stdc.math.log2f         log1p;
483     alias stdc.math.log2l         log1p;
484
485     alias stdc.math.logb          log1p;
486     alias stdc.math.logbf         log1p;
487     alias stdc.math.logbl         log1p;
488
489     alias stdc.math.modf          modf;
490     alias stdc.math.modff         modf;
491     alias stdc.math.modfl         modf;
492
493     alias stdc.math.scalbn        scalbn;
494     alias stdc.math.scalbnf       scalbn;
495     alias stdc.math.scalbnl       scalbn;
496
497     alias stdc.math.scalbln       scalbln;
498     alias stdc.math.scalblnf      scalbln;
499     alias stdc.math.scalblnl      scalbln;
500
501     alias stdc.math.cbrt          cbrt;
502     alias stdc.math.cbrtf         cbrt;
503     alias stdc.math.cbrtl         cbrt;
504
505     alias stdc.math.fabs          fabs;
506     alias stdc.math.fabsf         fabs;
507     alias stdc.math.fabsl         fabs;
508
509     alias stdc.complex.cabs       fabs;
510     alias stdc.complex.cabsf      fabs;
511     alias stdc.complex.cabsl      fabs;
512
513     alias stdc.math.hypot         hypot;
514     alias stdc.math.hypotf        hypot;
515     alias stdc.math.hypotl        hypot;
516
517     alias stdc.math.pow           pow;
518     alias stdc.math.powf          pow;
519     alias stdc.math.powl          pow;
520
521     alias stdc.complex.cpow       pow;
522     alias stdc.complex.cpowf      pow;
523     alias stdc.complex.cpowl      pow;
524
525     alias stdc.math.sqrt          sqrt;
526     alias stdc.math.sqrtf         sqrt;
527     alias stdc.math.sqrtl         sqrt;
528
529     alias stdc.complex.csqrt      sqrt;
530     alias stdc.complex.csqrtf     sqrt;
531     alias stdc.complex.csqrtl     sqrt;
532
533     alias stdc.math.erf           erf;
534     alias stdc.math.erff          erf;
535     alias stdc.math.erfl          erf;
536
537     alias stdc.math.erfc          erfc;
538     alias stdc.math.erfcf         erfc;
539     alias stdc.math.erfcl         erfc;
540
541     alias stdc.math.lgamma        lgamma;
542     alias stdc.math.lgammaf       lgamma;
543     alias stdc.math.lgammal       lgamma;
544
545     alias stdc.math.tgamma        tgamma;
546     alias stdc.math.tgammaf       tgamma;
547     alias stdc.math.tgammal       tgamma;
548
549     alias stdc.math.ceil          ceil;
550     alias stdc.math.ceilf         ceil;
551     alias stdc.math.ceill         ceil;
552
553     alias stdc.math.floor         floor;
554     alias stdc.math.floorf        floor;
555     alias stdc.math.floorl        floor;
556
557     alias stdc.math.nearbyint     nearbyint;
558     alias stdc.math.nearbyintf    nearbyint;
559     alias stdc.math.nearbyintl    nearbyint;
560
561     alias stdc.math.rint          rint;
562     alias stdc.math.rintf         rint;
563     alias stdc.math.rintl         rint;
564
565     alias stdc.math.lrint         lrint;
566     alias stdc.math.lrintf        lrint;
567     alias stdc.math.lrintl        lrint;
568
569     alias stdc.math.llrint        llrint;
570     alias stdc.math.llrintf       llrint;
571     alias stdc.math.llrintl       llrint;
572
573     alias stdc.math.round         round;
574     alias stdc.math.roundf        round;
575     alias stdc.math.roundl        round;
576
577     alias stdc.math.lround        lround;
578     alias stdc.math.lroundf       lround;
579     alias stdc.math.lroundl       lround;
580
581     alias stdc.math.llround       llround;
582     alias stdc.math.llroundf      llround;
583     alias stdc.math.llroundl      llround;
584
585     alias stdc.math.trunc         trunc;
586     alias stdc.math.truncf        trunc;
587     alias stdc.math.truncl        trunc;
588
589     alias stdc.math.fmod          fmod;
590     alias stdc.math.fmodf         fmod;
591     alias stdc.math.fmodl         fmod;
592
593     alias stdc.math.remainder     remainder;
594     alias stdc.math.remainderf    remainder;
595     alias stdc.math.remainderl    remainder;
596
597     alias stdc.math.remquo        remquo;
598     alias stdc.math.remquof       remquo;
599     alias stdc.math.remquol       remquo;
600
601     alias stdc.math.copysign      copysign;
602     alias stdc.math.copysignf     copysign;
603     alias stdc.math.copysignl     copysign;
604
605     alias stdc.math.nan           nan;
606     alias stdc.math.nanf          nan;
607     alias stdc.math.nanl          nan;
608
609     alias stdc.math.nextafter     nextafter;
610     alias stdc.math.nextafterf    nextafter;
611     alias stdc.math.nextafterl    nextafter;
612
613     alias stdc.math.nexttoward    nexttoward;
614     alias stdc.math.nexttowardf   nexttoward;
615     alias stdc.math.nexttowardl   nexttoward;
616
617     alias stdc.math.fdim          fdim;
618     alias stdc.math.fdimf         fdim;
619     alias stdc.math.fdiml         fdim;
620
621     alias stdc.math.fmax          fmax;
622     alias stdc.math.fmaxf         fmax;
623     alias stdc.math.fmaxl         fmax;
624
625     alias stdc.math.fmin          fmin;
626     alias stdc.math.fmin          fmin;
627     alias stdc.math.fminl         fmin;
628
629     alias stdc.math.fma           fma;
630     alias stdc.math.fmaf          fma;
631     alias stdc.math.fmal          fma;
632
633     alias stdc.complex.carg       carg;
634     alias stdc.complex.cargf      carg;
635     alias stdc.complex.cargl      carg;
636
637     alias stdc.complex.cimag      cimag;
638     alias stdc.complex.cimagf     cimag;
639     alias stdc.complex.cimagl     cimag;
640
641     alias stdc.complex.conj       conj;
642     alias stdc.complex.conjf      conj;
643     alias stdc.complex.conjl      conj;
644
645     alias stdc.complex.cproj      cproj;
646     alias stdc.complex.cprojf     cproj;
647     alias stdc.complex.cprojl     cproj;
648
649 //  alias stdc.complex.creal      creal;
650 //  alias stdc.complex.crealf     creal;
651 //  alias stdc.complex.creall     creal;
652 }