1 /**
2  * D header file for C99.
3  *
4  * $(C_HEADER_DESCRIPTION pubs.opengroup.org/onlinepubs/009695399/basedefs/_tgmath.h.html, _tgmath.h)
5  *
6  * Copyright: Copyright Sean Kelly 2005 - 2009.
7  * License: Distributed under the
8  *      $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0).
9  *    (See accompanying file LICENSE)
10  * Authors:   Sean Kelly
11  * Source:    $(DRUNTIMESRC core/stdc/_tgmath.d)
12  * Standards: ISO/IEC 9899:1999 (E)
13  */
14 
15 module core.stdc.tgmath;
16 
17 private import core.stdc.config;
18 private static import core.stdc.math;
19 private static import core.stdc.complex;
20 
21 extern (C):
22 @trusted: // Everything here operates on floating point and integer values.
23 nothrow:
24 @nogc:
25 
version(FreeBSD)26 version (FreeBSD)
27 {
28     ///
29     alias core.stdc.math.acos          acos;
30     ///
31     alias core.stdc.math.acosf         acos;
32     ///
33     alias core.stdc.math.acosl         acos;
34 
35     ///
36     alias core.stdc.complex.cacos      acos;
37     ///
38     alias core.stdc.complex.cacosf     acos;
39     ///
40     alias core.stdc.complex.cacosl     acos;
41 
42     ///
43     alias core.stdc.math.asin          asin;
44     ///
45     alias core.stdc.math.asinf         asin;
46     ///
47     alias core.stdc.math.asinl         asin;
48 
49     ///
50     alias core.stdc.complex.casin      asin;
51     ///
52     alias core.stdc.complex.casinf     asin;
53     ///
54     alias core.stdc.complex.casinl     asin;
55 
56     ///
57     alias core.stdc.math.atan          atan;
58     ///
59     alias core.stdc.math.atanf         atan;
60     ///
61     alias core.stdc.math.atanl         atan;
62 
63     ///
64     alias core.stdc.complex.catan      atan;
65     ///
66     alias core.stdc.complex.catanf     atan;
67     ///
68     alias core.stdc.complex.catanl     atan;
69 
70     ///
71     alias core.stdc.math.atan2         atan2;
72     ///
73     alias core.stdc.math.atan2f        atan2;
74     ///
75     alias core.stdc.math.atan2l        atan2;
76 
77     ///
78     alias core.stdc.math.cos           cos;
79     ///
80     alias core.stdc.math.cosf          cos;
81     ///
82     alias core.stdc.math.cosl          cos;
83 
84     ///
85     alias core.stdc.complex.ccos       cos;
86     ///
87     alias core.stdc.complex.ccosf      cos;
88     ///
89     alias core.stdc.complex.ccosl      cos;
90 
91     ///
92     alias core.stdc.math.sin           sin;
93     ///
94     alias core.stdc.math.sinf          sin;
95     ///
96     alias core.stdc.math.sinl          sin;
97 
98     ///
99     alias core.stdc.complex.csin       csin;
100     ///
101     alias core.stdc.complex.csinf      csin;
102     ///
103     alias core.stdc.complex.csinl      csin;
104 
105     ///
106     alias core.stdc.math.tan           tan;
107     ///
108     alias core.stdc.math.tanf          tan;
109     ///
110     alias core.stdc.math.tanl          tan;
111 
112     ///
113     alias core.stdc.complex.ctan       tan;
114     ///
115     alias core.stdc.complex.ctanf      tan;
116     ///
117     alias core.stdc.complex.ctanl      tan;
118 
119     ///
120     alias core.stdc.math.acosh         acosh;
121     ///
122     alias core.stdc.math.acoshf        acosh;
123     ///
124     alias core.stdc.math.acoshl        acosh;
125 
126     ///
127     alias core.stdc.complex.cacosh     acosh;
128     ///
129     alias core.stdc.complex.cacoshf    acosh;
130     ///
131     alias core.stdc.complex.cacoshl    acosh;
132 
133     ///
134     alias core.stdc.math.asinh         asinh;
135     ///
136     alias core.stdc.math.asinhf        asinh;
137     ///
138     alias core.stdc.math.asinhl        asinh;
139 
140     ///
141     alias core.stdc.complex.casinh     asinh;
142     ///
143     alias core.stdc.complex.casinhf    asinh;
144     ///
145     alias core.stdc.complex.casinhl    asinh;
146 
147     ///
148     alias core.stdc.math.atanh         atanh;
149     ///
150     alias core.stdc.math.atanhf        atanh;
151     ///
152     alias core.stdc.math.atanhl        atanh;
153 
154     ///
155     alias core.stdc.complex.catanh     atanh;
156     ///
157     alias core.stdc.complex.catanhf    atanh;
158     ///
159     alias core.stdc.complex.catanhl    atanh;
160 
161     ///
162     alias core.stdc.math.cosh          cosh;
163     ///
164     alias core.stdc.math.coshf         cosh;
165     ///
166     alias core.stdc.math.coshl         cosh;
167 
168     ///
169     alias core.stdc.complex.ccosh      cosh;
170     ///
171     alias core.stdc.complex.ccoshf     cosh;
172     ///
173     alias core.stdc.complex.ccoshl     cosh;
174 
175     ///
176     alias core.stdc.math.sinh          sinh;
177     ///
178     alias core.stdc.math.sinhf         sinh;
179     ///
180     alias core.stdc.math.sinhl         sinh;
181 
182     ///
183     alias core.stdc.complex.csinh      sinh;
184     ///
185     alias core.stdc.complex.csinhf     sinh;
186     ///
187     alias core.stdc.complex.csinhl     sinh;
188 
189     ///
190     alias core.stdc.math.tanh          tanh;
191     ///
192     alias core.stdc.math.tanhf         tanh;
193     ///
194     alias core.stdc.math.tanhl         tanh;
195 
196     ///
197     alias core.stdc.complex.ctanh      tanh;
198     ///
199     alias core.stdc.complex.ctanhf     tanh;
200     ///
201     alias core.stdc.complex.ctanhl     tanh;
202 
203     ///
204     alias core.stdc.math.exp           exp;
205     ///
206     alias core.stdc.math.expf          exp;
207     ///
208     alias core.stdc.math.expl          exp;
209 
210     ///
211     alias core.stdc.complex.cexp       exp;
212     ///
213     alias core.stdc.complex.cexpf      exp;
214     ///
215     alias core.stdc.complex.cexpl      exp;
216 
217     ///
218     alias core.stdc.math.exp2          exp2;
219     ///
220     alias core.stdc.math.exp2f         exp2;
221     ///
222     alias core.stdc.math.exp2l         exp2;
223 
224     ///
225     alias core.stdc.math.expm1         expm1;
226     ///
227     alias core.stdc.math.expm1f        expm1;
228     ///
229     alias core.stdc.math.expm1l        expm1;
230 
231     ///
232     alias core.stdc.math.frexp         frexp;
233     ///
234     alias core.stdc.math.frexpf        frexp;
235     ///
236     alias core.stdc.math.frexpl        frexp;
237 
238     ///
239     alias core.stdc.math.ilogb         ilogb;
240     ///
241     alias core.stdc.math.ilogbf        ilogb;
242     ///
243     alias core.stdc.math.ilogbl        ilogb;
244 
245     ///
246     alias core.stdc.math.ldexp         ldexp;
247     ///
248     alias core.stdc.math.ldexpf        ldexp;
249     ///
250     alias core.stdc.math.ldexpl        ldexp;
251 
252     ///
253     alias core.stdc.math.log           log;
254     ///
255     alias core.stdc.math.logf          log;
256     ///
257     alias core.stdc.math.logl          log;
258 
259     ///
260     alias core.stdc.complex.clog       log;
261     ///
262     alias core.stdc.complex.clogf      log;
263     ///
264     alias core.stdc.complex.clogl      log;
265 
266     ///
267     alias core.stdc.math.log10         log10;
268     ///
269     alias core.stdc.math.log10f        log10;
270     ///
271     alias core.stdc.math.log10l        log10;
272 
273     ///
274     alias core.stdc.math.log1p         log1p;
275     ///
276     alias core.stdc.math.log1pf        log1p;
277     ///
278     alias core.stdc.math.log1pl        log1p;
279 
280     ///
281     alias core.stdc.math.log2          log2;
282     ///
283     alias core.stdc.math.log2f         log2;
284     ///
285     alias core.stdc.math.log2l         log2;
286 
287     ///
288     alias core.stdc.math.logb          logb;
289     ///
290     alias core.stdc.math.logbf         logb;
291     ///
292     alias core.stdc.math.logbl         logb;
293 
294     ///
295     alias core.stdc.math.modf          modf;
296     ///
297     alias core.stdc.math.modff         modf;
298 //  alias core.stdc.math.modfl         modf;
299 
300     ///
301     alias core.stdc.math.scalbn        scalbn;
302     ///
303     alias core.stdc.math.scalbnf       scalbn;
304     ///
305     alias core.stdc.math.scalbnl       scalbn;
306 
307     ///
308     alias core.stdc.math.scalbln       scalbln;
309     ///
310     alias core.stdc.math.scalblnf      scalbln;
311     ///
312     alias core.stdc.math.scalblnl      scalbln;
313 
314     ///
315     alias core.stdc.math.cbrt          cbrt;
316     ///
317     alias core.stdc.math.cbrtf         cbrt;
318     ///
319     alias core.stdc.math.cbrtl         cbrt;
320 
321     ///
322     alias core.stdc.math.fabs          fabs;
323     ///
324     alias core.stdc.math.fabsf         fabs;
325     ///
326     alias core.stdc.math.fabsl         fabs;
327 
328     ///
329     alias core.stdc.complex.cabs       fabs;
330     ///
331     alias core.stdc.complex.cabsf      fabs;
332     ///
333     alias core.stdc.complex.cabsl      fabs;
334 
335     ///
336     alias core.stdc.math.hypot         hypot;
337     ///
338     alias core.stdc.math.hypotf        hypot;
339     ///
340     alias core.stdc.math.hypotl        hypot;
341 
342     ///
343     alias core.stdc.math.pow           pow;
344     ///
345     alias core.stdc.math.powf          pow;
346     ///
347     alias core.stdc.math.powl          pow;
348 
349     ///
350     alias core.stdc.complex.cpow       pow;
351     ///
352     alias core.stdc.complex.cpowf      pow;
353     ///
354     alias core.stdc.complex.cpowl      pow;
355 
356     ///
357     alias core.stdc.math.sqrt          sqrt;
358     ///
359     alias core.stdc.math.sqrtf         sqrt;
360     ///
361     alias core.stdc.math.sqrtl         sqrt;
362 
363     ///
364     alias core.stdc.complex.csqrt      sqrt;
365     ///
366     alias core.stdc.complex.csqrtf     sqrt;
367     ///
368     alias core.stdc.complex.csqrtl     sqrt;
369 
370     ///
371     alias core.stdc.math.erf           erf;
372     ///
373     alias core.stdc.math.erff          erf;
374     ///
375     alias core.stdc.math.erfl          erf;
376 
377     ///
378     alias core.stdc.math.erfc          erfc;
379     ///
380     alias core.stdc.math.erfcf         erfc;
381     ///
382     alias core.stdc.math.erfcl         erfc;
383 
384     ///
385     alias core.stdc.math.lgamma        lgamma;
386     ///
387     alias core.stdc.math.lgammaf       lgamma;
388     ///
389     alias core.stdc.math.lgammal       lgamma;
390 
391     ///
392     alias core.stdc.math.tgamma        tgamma;
393     ///
394     alias core.stdc.math.tgammaf       tgamma;
395     ///
396     alias core.stdc.math.tgammal       tgamma;
397 
398     ///
399     alias core.stdc.math.ceil          ceil;
400     ///
401     alias core.stdc.math.ceilf         ceil;
402     ///
403     alias core.stdc.math.ceill         ceil;
404 
405     ///
406     alias core.stdc.math.floor         floor;
407     ///
408     alias core.stdc.math.floorf        floor;
409     ///
410     alias core.stdc.math.floorl        floor;
411 
412     ///
413     alias core.stdc.math.nearbyint     nearbyint;
414     ///
415     alias core.stdc.math.nearbyintf    nearbyint;
416     ///
417     alias core.stdc.math.nearbyintl    nearbyint;
418 
419     ///
420     alias core.stdc.math.rint          rint;
421     ///
422     alias core.stdc.math.rintf         rint;
423     ///
424     alias core.stdc.math.rintl         rint;
425 
426     ///
427     alias core.stdc.math.lrint         lrint;
428     ///
429     alias core.stdc.math.lrintf        lrint;
430     ///
431     alias core.stdc.math.lrintl        lrint;
432 
433     ///
434     alias core.stdc.math.llrint        llrint;
435     ///
436     alias core.stdc.math.llrintf       llrint;
437     ///
438     alias core.stdc.math.llrintl       llrint;
439 
440     ///
441     alias core.stdc.math.round         round;
442     ///
443     alias core.stdc.math.roundf        round;
444     ///
445     alias core.stdc.math.roundl        round;
446 
447     ///
448     alias core.stdc.math.lround        lround;
449     ///
450     alias core.stdc.math.lroundf       lround;
451     ///
452     alias core.stdc.math.lroundl       lround;
453 
454     ///
455     alias core.stdc.math.llround       llround;
456     ///
457     alias core.stdc.math.llroundf      llround;
458     ///
459     alias core.stdc.math.llroundl      llround;
460 
461     ///
462     alias core.stdc.math.trunc         trunc;
463     ///
464     alias core.stdc.math.truncf        trunc;
465     ///
466     alias core.stdc.math.truncl        trunc;
467 
468     ///
469     alias core.stdc.math.fmod          fmod;
470     ///
471     alias core.stdc.math.fmodf         fmod;
472     ///
473     alias core.stdc.math.fmodl         fmod;
474 
475     ///
476     alias core.stdc.math.remainder     remainder;
477     ///
478     alias core.stdc.math.remainderf    remainder;
479     ///
480     alias core.stdc.math.remainderl    remainder;
481 
482     ///
483     alias core.stdc.math.remquo        remquo;
484     ///
485     alias core.stdc.math.remquof       remquo;
486     ///
487     alias core.stdc.math.remquol       remquo;
488 
489     ///
490     alias core.stdc.math.copysign      copysign;
491     ///
492     alias core.stdc.math.copysignf     copysign;
493     ///
494     alias core.stdc.math.copysignl     copysign;
495 
496 //  alias core.stdc.math.nan           nan;
497 //  alias core.stdc.math.nanf          nan;
498 //  alias core.stdc.math.nanl          nan;
499 
500     ///
501     alias core.stdc.math.nextafter     nextafter;
502     ///
503     alias core.stdc.math.nextafterf    nextafter;
504     ///
505     alias core.stdc.math.nextafterl    nextafter;
506 
507     ///
508     alias core.stdc.math.nexttoward    nexttoward;
509     ///
510     alias core.stdc.math.nexttowardf   nexttoward;
511     ///
512     alias core.stdc.math.nexttowardl   nexttoward;
513 
514     ///
515     alias core.stdc.math.fdim          fdim;
516     ///
517     alias core.stdc.math.fdimf         fdim;
518     ///
519     alias core.stdc.math.fdiml         fdim;
520 
521     ///
522     alias core.stdc.math.fmax          fmax;
523     ///
524     alias core.stdc.math.fmaxf         fmax;
525     ///
526     alias core.stdc.math.fmaxl         fmax;
527 
528     ///
529     alias core.stdc.math.fmin          fmin;
530     ///
531     alias core.stdc.math.fmin          fmin;
532     ///
533     alias core.stdc.math.fminl         fmin;
534 
535     ///
536     alias core.stdc.math.fma           fma;
537     ///
538     alias core.stdc.math.fmaf          fma;
539     ///
540     alias core.stdc.math.fmal          fma;
541 
542     ///
543     alias core.stdc.complex.carg       carg;
544     ///
545     alias core.stdc.complex.cargf      carg;
546     ///
547     alias core.stdc.complex.cargl      carg;
548 
549     ///
550     alias core.stdc.complex.cimag      cimag;
551     ///
552     alias core.stdc.complex.cimagf     cimag;
553     ///
554     alias core.stdc.complex.cimagl     cimag;
555 
556     ///
557     alias core.stdc.complex.conj       conj;
558     ///
559     alias core.stdc.complex.conjf      conj;
560     ///
561     alias core.stdc.complex.conjl      conj;
562 
563     ///
564     alias core.stdc.complex.cproj      cproj;
565     ///
566     alias core.stdc.complex.cprojf     cproj;
567     ///
568     alias core.stdc.complex.cprojl     cproj;
569 
570 //  alias core.stdc.complex.creal      creal;
571 //  alias core.stdc.complex.crealf     creal;
572 //  alias core.stdc.complex.creall     creal;
573 }
version(NetBSD)574 version (NetBSD)
575 {
576     ///
577     alias core.stdc.math.acos          acos;
578     ///
579     alias core.stdc.math.acosf         acos;
580     ///
581     alias core.stdc.math.acosl         acos;
582 
583     ///
584     alias core.stdc.complex.cacos      acos;
585     ///
586     alias core.stdc.complex.cacosf     acos;
587     ///
588     alias core.stdc.complex.cacosl     acos;
589 
590     ///
591     alias core.stdc.math.asin          asin;
592     ///
593     alias core.stdc.math.asinf         asin;
594     ///
595     alias core.stdc.math.asinl         asin;
596 
597     ///
598     alias core.stdc.complex.casin      asin;
599     ///
600     alias core.stdc.complex.casinf     asin;
601     ///
602     alias core.stdc.complex.casinl     asin;
603 
604     ///
605     alias core.stdc.math.atan          atan;
606     ///
607     alias core.stdc.math.atanf         atan;
608     ///
609     alias core.stdc.math.atanl         atan;
610 
611     ///
612     alias core.stdc.complex.catan      atan;
613     ///
614     alias core.stdc.complex.catanf     atan;
615     ///
616     alias core.stdc.complex.catanl     atan;
617 
618     ///
619     alias core.stdc.math.atan2         atan2;
620     ///
621     alias core.stdc.math.atan2f        atan2;
622     ///
623     alias core.stdc.math.atan2l        atan2;
624 
625     ///
626     alias core.stdc.math.cos           cos;
627     ///
628     alias core.stdc.math.cosf          cos;
629     ///
630     alias core.stdc.math.cosl          cos;
631 
632     ///
633     alias core.stdc.complex.ccos       cos;
634     ///
635     alias core.stdc.complex.ccosf      cos;
636     ///
637     alias core.stdc.complex.ccosl      cos;
638 
639     ///
640     alias core.stdc.math.sin           sin;
641     ///
642     alias core.stdc.math.sinf          sin;
643     ///
644     alias core.stdc.math.sinl          sin;
645 
646     ///
647     alias core.stdc.complex.csin       csin;
648     ///
649     alias core.stdc.complex.csinf      csin;
650     ///
651     alias core.stdc.complex.csinl      csin;
652 
653     ///
654     alias core.stdc.math.tan           tan;
655     ///
656     alias core.stdc.math.tanf          tan;
657     ///
658     alias core.stdc.math.tanl          tan;
659 
660     ///
661     alias core.stdc.complex.ctan       tan;
662     ///
663     alias core.stdc.complex.ctanf      tan;
664     ///
665     alias core.stdc.complex.ctanl      tan;
666 
667     ///
668     alias core.stdc.math.acosh         acosh;
669     ///
670     alias core.stdc.math.acoshf        acosh;
671     ///
672     alias core.stdc.math.acoshl        acosh;
673 
674     ///
675     alias core.stdc.complex.cacosh     acosh;
676     ///
677     alias core.stdc.complex.cacoshf    acosh;
678     ///
679     alias core.stdc.complex.cacoshl    acosh;
680 
681     ///
682     alias core.stdc.math.asinh         asinh;
683     ///
684     alias core.stdc.math.asinhf        asinh;
685     ///
686     alias core.stdc.math.asinhl        asinh;
687 
688     ///
689     alias core.stdc.complex.casinh     asinh;
690     ///
691     alias core.stdc.complex.casinhf    asinh;
692     ///
693     alias core.stdc.complex.casinhl    asinh;
694 
695     ///
696     alias core.stdc.math.atanh         atanh;
697     ///
698     alias core.stdc.math.atanhf        atanh;
699     ///
700     alias core.stdc.math.atanhl        atanh;
701 
702     ///
703     alias core.stdc.complex.catanh     atanh;
704     ///
705     alias core.stdc.complex.catanhf    atanh;
706     ///
707     alias core.stdc.complex.catanhl    atanh;
708 
709     ///
710     alias core.stdc.math.cosh          cosh;
711     ///
712     alias core.stdc.math.coshf         cosh;
713     ///
714     alias core.stdc.math.coshl         cosh;
715 
716     ///
717     alias core.stdc.complex.ccosh      cosh;
718     ///
719     alias core.stdc.complex.ccoshf     cosh;
720     ///
721     alias core.stdc.complex.ccoshl     cosh;
722 
723     ///
724     alias core.stdc.math.sinh          sinh;
725     ///
726     alias core.stdc.math.sinhf         sinh;
727     ///
728     alias core.stdc.math.sinhl         sinh;
729 
730     ///
731     alias core.stdc.complex.csinh      sinh;
732     ///
733     alias core.stdc.complex.csinhf     sinh;
734     ///
735     alias core.stdc.complex.csinhl     sinh;
736 
737     ///
738     alias core.stdc.math.tanh          tanh;
739     ///
740     alias core.stdc.math.tanhf         tanh;
741     ///
742     alias core.stdc.math.tanhl         tanh;
743 
744     ///
745     alias core.stdc.complex.ctanh      tanh;
746     ///
747     alias core.stdc.complex.ctanhf     tanh;
748     ///
749     alias core.stdc.complex.ctanhl     tanh;
750 
751     ///
752     alias core.stdc.math.exp           exp;
753     ///
754     alias core.stdc.math.expf          exp;
755     ///
756     alias core.stdc.math.expl          exp;
757 
758     ///
759     alias core.stdc.complex.cexp       exp;
760     ///
761     alias core.stdc.complex.cexpf      exp;
762     ///
763     alias core.stdc.complex.cexpl      exp;
764 
765     ///
766     alias core.stdc.math.exp2          exp2;
767     ///
768     alias core.stdc.math.exp2f         exp2;
769     ///
770     alias core.stdc.math.exp2l         exp2;
771 
772     ///
773     alias core.stdc.math.expm1         expm1;
774     ///
775     alias core.stdc.math.expm1f        expm1;
776     ///
777     alias core.stdc.math.expm1l        expm1;
778 
779     ///
780     alias core.stdc.math.frexp         frexp;
781     ///
782     alias core.stdc.math.frexpf        frexp;
783     ///
784     alias core.stdc.math.frexpl        frexp;
785 
786     ///
787     alias core.stdc.math.ilogb         ilogb;
788     ///
789     alias core.stdc.math.ilogbf        ilogb;
790     ///
791     alias core.stdc.math.ilogbl        ilogb;
792 
793     ///
794     alias core.stdc.math.ldexp         ldexp;
795     ///
796     alias core.stdc.math.ldexpf        ldexp;
797     ///
798     alias core.stdc.math.ldexpl        ldexp;
799 
800     ///
801     alias core.stdc.math.log           log;
802     ///
803     alias core.stdc.math.logf          log;
804     ///
805     alias core.stdc.math.logl          log;
806 
807     ///
808     alias core.stdc.complex.clog       log;
809     ///
810     alias core.stdc.complex.clogf      log;
811     ///
812     alias core.stdc.complex.clogl      log;
813 
814     ///
815     alias core.stdc.math.log10         log10;
816     ///
817     alias core.stdc.math.log10f        log10;
818     ///
819     alias core.stdc.math.log10l        log10;
820 
821     ///
822     alias core.stdc.math.log1p         log1p;
823     ///
824     alias core.stdc.math.log1pf        log1p;
825     ///
826     alias core.stdc.math.log1pl        log1p;
827 
828     ///
829     alias core.stdc.math.log2          log2;
830     ///
831     alias core.stdc.math.log2f         log2;
832     ///
833     alias core.stdc.math.log2l         log2;
834 
835     ///
836     alias core.stdc.math.logb          logb;
837     ///
838     alias core.stdc.math.logbf         logb;
839     ///
840     alias core.stdc.math.logbl         logb;
841 
842     ///
843     alias core.stdc.math.modf          modf;
844     ///
845     alias core.stdc.math.modff         modf;
846 //  alias core.stdc.math.modfl         modf;
847 
848     ///
849     alias core.stdc.math.scalbn        scalbn;
850     ///
851     alias core.stdc.math.scalbnf       scalbn;
852     ///
853     alias core.stdc.math.scalbnl       scalbn;
854 
855     ///
856     alias core.stdc.math.scalbln       scalbln;
857     ///
858     alias core.stdc.math.scalblnf      scalbln;
859     ///
860     alias core.stdc.math.scalblnl      scalbln;
861 
862     ///
863     alias core.stdc.math.cbrt          cbrt;
864     ///
865     alias core.stdc.math.cbrtf         cbrt;
866     ///
867     alias core.stdc.math.cbrtl         cbrt;
868 
869     ///
870     alias core.stdc.math.fabs          fabs;
871     ///
872     alias core.stdc.math.fabsf         fabs;
873     ///
874     alias core.stdc.math.fabsl         fabs;
875 
876     ///
877     alias core.stdc.complex.cabs       fabs;
878     ///
879     alias core.stdc.complex.cabsf      fabs;
880     ///
881     alias core.stdc.complex.cabsl      fabs;
882 
883     ///
884     alias core.stdc.math.hypot         hypot;
885     ///
886     alias core.stdc.math.hypotf        hypot;
887     ///
888     alias core.stdc.math.hypotl        hypot;
889 
890     ///
891     alias core.stdc.math.pow           pow;
892     ///
893     alias core.stdc.math.powf          pow;
894     ///
895     alias core.stdc.math.powl          pow;
896 
897     ///
898     alias core.stdc.complex.cpow       pow;
899     ///
900     alias core.stdc.complex.cpowf      pow;
901     ///
902     alias core.stdc.complex.cpowl      pow;
903 
904     ///
905     alias core.stdc.math.sqrt          sqrt;
906     ///
907     alias core.stdc.math.sqrtf         sqrt;
908     ///
909     alias core.stdc.math.sqrtl         sqrt;
910 
911     ///
912     alias core.stdc.complex.csqrt      sqrt;
913     ///
914     alias core.stdc.complex.csqrtf     sqrt;
915     ///
916     alias core.stdc.complex.csqrtl     sqrt;
917 
918     ///
919     alias core.stdc.math.erf           erf;
920     ///
921     alias core.stdc.math.erff          erf;
922     ///
923     alias core.stdc.math.erfl          erf;
924 
925     ///
926     alias core.stdc.math.erfc          erfc;
927     ///
928     alias core.stdc.math.erfcf         erfc;
929     ///
930     alias core.stdc.math.erfcl         erfc;
931 
932     ///
933     alias core.stdc.math.lgamma        lgamma;
934     ///
935     alias core.stdc.math.lgammaf       lgamma;
936     ///
937     alias core.stdc.math.lgammal       lgamma;
938 
939     ///
940     alias core.stdc.math.tgamma        tgamma;
941     ///
942     alias core.stdc.math.tgammaf       tgamma;
943     ///
944     alias core.stdc.math.tgammal       tgamma;
945 
946     ///
947     alias core.stdc.math.ceil          ceil;
948     ///
949     alias core.stdc.math.ceilf         ceil;
950     ///
951     alias core.stdc.math.ceill         ceil;
952 
953     ///
954     alias core.stdc.math.floor         floor;
955     ///
956     alias core.stdc.math.floorf        floor;
957     ///
958     alias core.stdc.math.floorl        floor;
959 
960     ///
961     alias core.stdc.math.nearbyint     nearbyint;
962     ///
963     alias core.stdc.math.nearbyintf    nearbyint;
964     ///
965     alias core.stdc.math.nearbyintl    nearbyint;
966 
967     ///
968     alias core.stdc.math.rint          rint;
969     ///
970     alias core.stdc.math.rintf         rint;
971     ///
972     alias core.stdc.math.rintl         rint;
973 
974     ///
975     alias core.stdc.math.lrint         lrint;
976     ///
977     alias core.stdc.math.lrintf        lrint;
978     ///
979     alias core.stdc.math.lrintl        lrint;
980 
981     ///
982     alias core.stdc.math.llrint        llrint;
983     ///
984     alias core.stdc.math.llrintf       llrint;
985     ///
986     alias core.stdc.math.llrintl       llrint;
987 
988     ///
989     alias core.stdc.math.round         round;
990     ///
991     alias core.stdc.math.roundf        round;
992     ///
993     alias core.stdc.math.roundl        round;
994 
995     ///
996     alias core.stdc.math.lround        lround;
997     ///
998     alias core.stdc.math.lroundf       lround;
999     ///
1000     alias core.stdc.math.lroundl       lround;
1001 
1002     ///
1003     alias core.stdc.math.llround       llroundl;
1004     ///
1005     alias core.stdc.math.llroundf      llroundl;
1006     ///
1007     alias core.stdc.math.llroundl      llroundl;
1008 
1009     ///
1010     alias core.stdc.math.trunc         trunc;
1011     ///
1012     alias core.stdc.math.truncf        trunc;
1013     ///
1014     alias core.stdc.math.truncl        trunc;
1015 
1016     ///
1017     alias core.stdc.math.fmod          fmod;
1018     ///
1019     alias core.stdc.math.fmodf         fmod;
1020     ///
1021     alias core.stdc.math.fmodl         fmod;
1022 
1023     ///
1024     alias core.stdc.math.remainder     remainder;
1025     ///
1026     alias core.stdc.math.remainderf    remainder;
1027     ///
1028     alias core.stdc.math.remainderl    remainder;
1029 
1030     ///
1031     alias core.stdc.math.remquo        remquo;
1032     ///
1033     alias core.stdc.math.remquof       remquo;
1034     ///
1035     alias core.stdc.math.remquol       remquo;
1036 
1037     ///
1038     alias core.stdc.math.copysign      copysign;
1039     ///
1040     alias core.stdc.math.copysignf     copysign;
1041     ///
1042     alias core.stdc.math.copysignl     copysign;
1043 
1044 //  alias core.stdc.math.nan           nan;
1045 //  alias core.stdc.math.nanf          nan;
1046 //  alias core.stdc.math.nanl          nan;
1047 
1048     ///
1049     alias core.stdc.math.nextafter     nextafter;
1050     ///
1051     alias core.stdc.math.nextafterf    nextafter;
1052     ///
1053     alias core.stdc.math.nextafterl    nextafter;
1054 
1055     ///
1056     alias core.stdc.math.nexttoward    nexttoward;
1057     ///
1058     alias core.stdc.math.nexttowardf   nexttoward;
1059     ///
1060     alias core.stdc.math.nexttowardl   nexttoward;
1061 
1062     ///
1063     alias core.stdc.math.fdim          fdim;
1064     ///
1065     alias core.stdc.math.fdimf         fdim;
1066     ///
1067     alias core.stdc.math.fdiml         fdim;
1068 
1069     ///
1070     alias core.stdc.math.fmax          fmax;
1071     ///
1072     alias core.stdc.math.fmaxf         fmax;
1073     ///
1074     alias core.stdc.math.fmaxl         fmax;
1075 
1076     ///
1077     alias core.stdc.math.fmin          fmin;
1078     ///
1079     alias core.stdc.math.fmin          fmin;
1080     ///
1081     alias core.stdc.math.fminl         fmin;
1082 
1083     ///
1084     alias core.stdc.math.fma           fma;
1085     ///
1086     alias core.stdc.math.fmaf          fma;
1087     ///
1088     alias core.stdc.math.fmal          fma;
1089 
1090     ///
1091     alias core.stdc.complex.carg       carg;
1092     ///
1093     alias core.stdc.complex.cargf      carg;
1094     ///
1095     alias core.stdc.complex.cargl      carg;
1096 
1097     ///
1098     alias core.stdc.complex.cimag      cimag;
1099     ///
1100     alias core.stdc.complex.cimagf     cimag;
1101     ///
1102     alias core.stdc.complex.cimagl     cimag;
1103 
1104     ///
1105     alias core.stdc.complex.conj       conj;
1106     ///
1107     alias core.stdc.complex.conjf      conj;
1108     ///
1109     alias core.stdc.complex.conjl      conj;
1110 
1111     ///
1112     alias core.stdc.complex.cproj      cproj;
1113     ///
1114     alias core.stdc.complex.cprojf     cproj;
1115     ///
1116     alias core.stdc.complex.cprojl     cproj;
1117 
1118 //  alias core.stdc.complex.creal      creal;
1119 //  alias core.stdc.complex.crealf     creal;
1120 //  alias core.stdc.complex.creall     creal;
1121 }
version(OpenBSD)1122 else version (OpenBSD)
1123 {
1124     ///
1125     alias core.stdc.math.acos          acos;
1126     ///
1127     alias core.stdc.math.acosf         acos;
1128     ///
1129     alias core.stdc.math.acosl         acos;
1130 
1131     ///
1132     alias core.stdc.complex.cacos      acos;
1133     ///
1134     alias core.stdc.complex.cacosf     acos;
1135     ///
1136     alias core.stdc.complex.cacosl     acos;
1137 
1138     ///
1139     alias core.stdc.math.asin          asin;
1140     ///
1141     alias core.stdc.math.asinf         asin;
1142     ///
1143     alias core.stdc.math.asinl         asin;
1144 
1145     ///
1146     alias core.stdc.complex.casin      asin;
1147     ///
1148     alias core.stdc.complex.casinf     asin;
1149     ///
1150     alias core.stdc.complex.casinl     asin;
1151 
1152     ///
1153     alias core.stdc.math.atan          atan;
1154     ///
1155     alias core.stdc.math.atanf         atan;
1156     ///
1157     alias core.stdc.math.atanl         atan;
1158 
1159     ///
1160     alias core.stdc.complex.catan      atan;
1161     ///
1162     alias core.stdc.complex.catanf     atan;
1163     ///
1164     alias core.stdc.complex.catanl     atan;
1165 
1166     ///
1167     alias core.stdc.math.atan2         atan2;
1168     ///
1169     alias core.stdc.math.atan2f        atan2;
1170     ///
1171     alias core.stdc.math.atan2l        atan2;
1172 
1173     ///
1174     alias core.stdc.math.cos           cos;
1175     ///
1176     alias core.stdc.math.cosf          cos;
1177     ///
1178     alias core.stdc.math.cosl          cos;
1179 
1180     ///
1181     alias core.stdc.complex.ccos       cos;
1182     ///
1183     alias core.stdc.complex.ccosf      cos;
1184     ///
1185     alias core.stdc.complex.ccosl      cos;
1186 
1187     ///
1188     alias core.stdc.math.sin           sin;
1189     ///
1190     alias core.stdc.math.sinf          sin;
1191     ///
1192     alias core.stdc.math.sinl          sin;
1193 
1194     ///
1195     alias core.stdc.complex.csin       csin;
1196     ///
1197     alias core.stdc.complex.csinf      csin;
1198     ///
1199     alias core.stdc.complex.csinl      csin;
1200 
1201     ///
1202     alias core.stdc.math.tan           tan;
1203     ///
1204     alias core.stdc.math.tanf          tan;
1205     ///
1206     alias core.stdc.math.tanl          tan;
1207 
1208     ///
1209     alias core.stdc.complex.ctan       tan;
1210     ///
1211     alias core.stdc.complex.ctanf      tan;
1212     ///
1213     alias core.stdc.complex.ctanl      tan;
1214 
1215     ///
1216     alias core.stdc.math.acosh         acosh;
1217     ///
1218     alias core.stdc.math.acoshf        acosh;
1219     ///
1220     alias core.stdc.math.acoshl        acosh;
1221 
1222     ///
1223     alias core.stdc.complex.cacosh     acosh;
1224     ///
1225     alias core.stdc.complex.cacoshf    acosh;
1226     ///
1227     alias core.stdc.complex.cacoshl    acosh;
1228 
1229     ///
1230     alias core.stdc.math.asinh         asinh;
1231     ///
1232     alias core.stdc.math.asinhf        asinh;
1233     ///
1234     alias core.stdc.math.asinhl        asinh;
1235 
1236     ///
1237     alias core.stdc.complex.casinh     asinh;
1238     ///
1239     alias core.stdc.complex.casinhf    asinh;
1240     ///
1241     alias core.stdc.complex.casinhl    asinh;
1242 
1243     ///
1244     alias core.stdc.math.atanh         atanh;
1245     ///
1246     alias core.stdc.math.atanhf        atanh;
1247     ///
1248     alias core.stdc.math.atanhl        atanh;
1249 
1250     ///
1251     alias core.stdc.complex.catanh     atanh;
1252     ///
1253     alias core.stdc.complex.catanhf    atanh;
1254     ///
1255     alias core.stdc.complex.catanhl    atanh;
1256 
1257     ///
1258     alias core.stdc.math.cosh          cosh;
1259     ///
1260     alias core.stdc.math.coshf         cosh;
1261     ///
1262     alias core.stdc.math.coshl         cosh;
1263 
1264     ///
1265     alias core.stdc.complex.ccosh      cosh;
1266     ///
1267     alias core.stdc.complex.ccoshf     cosh;
1268     ///
1269     alias core.stdc.complex.ccoshl     cosh;
1270 
1271     ///
1272     alias core.stdc.math.sinh          sinh;
1273     ///
1274     alias core.stdc.math.sinhf         sinh;
1275     ///
1276     alias core.stdc.math.sinhl         sinh;
1277 
1278     ///
1279     alias core.stdc.complex.csinh      sinh;
1280     ///
1281     alias core.stdc.complex.csinhf     sinh;
1282     ///
1283     alias core.stdc.complex.csinhl     sinh;
1284 
1285     ///
1286     alias core.stdc.math.tanh          tanh;
1287     ///
1288     alias core.stdc.math.tanhf         tanh;
1289     ///
1290     alias core.stdc.math.tanhl         tanh;
1291 
1292     ///
1293     alias core.stdc.complex.ctanh      tanh;
1294     ///
1295     alias core.stdc.complex.ctanhf     tanh;
1296     ///
1297     alias core.stdc.complex.ctanhl     tanh;
1298 
1299     ///
1300     alias core.stdc.math.exp           exp;
1301     ///
1302     alias core.stdc.math.expf          exp;
1303     ///
1304     alias core.stdc.math.expl          exp;
1305 
1306     ///
1307     alias core.stdc.complex.cexp       exp;
1308     ///
1309     alias core.stdc.complex.cexpf      exp;
1310     ///
1311     alias core.stdc.complex.cexpl      exp;
1312 
1313     ///
1314     alias core.stdc.math.exp2          exp2;
1315     ///
1316     alias core.stdc.math.exp2f         exp2;
1317     ///
1318     alias core.stdc.math.exp2l         exp2;
1319 
1320     ///
1321     alias core.stdc.math.expm1         expm1;
1322     ///
1323     alias core.stdc.math.expm1f        expm1;
1324     ///
1325     alias core.stdc.math.expm1l        expm1;
1326 
1327     ///
1328     alias core.stdc.math.frexp         frexp;
1329     ///
1330     alias core.stdc.math.frexpf        frexp;
1331     ///
1332     alias core.stdc.math.frexpl        frexp;
1333 
1334     ///
1335     alias core.stdc.math.ilogb         ilogb;
1336     ///
1337     alias core.stdc.math.ilogbf        ilogb;
1338     ///
1339     alias core.stdc.math.ilogbl        ilogb;
1340 
1341     ///
1342     alias core.stdc.math.ldexp         ldexp;
1343     ///
1344     alias core.stdc.math.ldexpf        ldexp;
1345     ///
1346     alias core.stdc.math.ldexpl        ldexp;
1347 
1348     ///
1349     alias core.stdc.math.log           log;
1350     ///
1351     alias core.stdc.math.logf          log;
1352     ///
1353     alias core.stdc.math.logl          log;
1354 
1355     ///
1356     alias core.stdc.complex.clog       log;
1357     ///
1358     alias core.stdc.complex.clogf      log;
1359     ///
1360     alias core.stdc.complex.clogl      log;
1361 
1362     ///
1363     alias core.stdc.math.log10         log10;
1364     ///
1365     alias core.stdc.math.log10f        log10;
1366     ///
1367     alias core.stdc.math.log10l        log10;
1368 
1369     ///
1370     alias core.stdc.math.log1p         log1p;
1371     ///
1372     alias core.stdc.math.log1pf        log1p;
1373     ///
1374     alias core.stdc.math.log1pl        log1p;
1375 
1376     ///
1377     alias core.stdc.math.log2          log2;
1378     ///
1379     alias core.stdc.math.log2f         log2;
1380     ///
1381     alias core.stdc.math.log2l         log2;
1382 
1383     ///
1384     alias core.stdc.math.logb          logb;
1385     ///
1386     alias core.stdc.math.logbf         logb;
1387     ///
1388     alias core.stdc.math.logbl         logb;
1389 
1390     ///
1391     alias core.stdc.math.fmod          fmod;
1392     ///
1393     alias core.stdc.math.fmodf         fmod;
1394     ///
1395     alias core.stdc.math.fmodl         fmod;
1396 
1397     ///
1398     alias core.stdc.math.scalbn        scalbn;
1399     ///
1400     alias core.stdc.math.scalbnf       scalbn;
1401     ///
1402     alias core.stdc.math.scalbnl       scalbn;
1403 
1404     ///
1405     alias core.stdc.math.scalbln       scalbln;
1406     ///
1407     alias core.stdc.math.scalblnf      scalbln;
1408     ///
1409     alias core.stdc.math.scalblnl      scalbln;
1410 
1411     ///
1412     alias core.stdc.math.cbrt          cbrt;
1413     ///
1414     alias core.stdc.math.cbrtf         cbrt;
1415     ///
1416     alias core.stdc.math.cbrtl         cbrt;
1417 
1418     ///
1419     alias core.stdc.math.fabs          fabs;
1420     ///
1421     alias core.stdc.math.fabsf         fabs;
1422     ///
1423     alias core.stdc.math.fabsl         fabs;
1424 
1425     ///
1426     alias core.stdc.complex.cabs       fabs;
1427     ///
1428     alias core.stdc.complex.cabsf      fabs;
1429     ///
1430     alias core.stdc.complex.cabsl      fabs;
1431 
1432     ///
1433     alias core.stdc.math.hypot         hypot;
1434     ///
1435     alias core.stdc.math.hypotf        hypot;
1436     ///
1437     alias core.stdc.math.hypotl        hypot;
1438 
1439     ///
1440     alias core.stdc.math.pow           pow;
1441     ///
1442     alias core.stdc.math.powf          pow;
1443     ///
1444     alias core.stdc.math.powl          pow;
1445 
1446     ///
1447     alias core.stdc.complex.cpow       pow;
1448     ///
1449     alias core.stdc.complex.cpowf      pow;
1450     ///
1451     alias core.stdc.complex.cpowl      pow;
1452 
1453     ///
1454     alias core.stdc.math.sqrt          sqrt;
1455     ///
1456     alias core.stdc.math.sqrtf         sqrt;
1457     ///
1458     alias core.stdc.math.sqrtl         sqrt;
1459 
1460     ///
1461     alias core.stdc.complex.csqrt      sqrt;
1462     ///
1463     alias core.stdc.complex.csqrtf     sqrt;
1464     ///
1465     alias core.stdc.complex.csqrtl     sqrt;
1466 
1467     ///
1468     alias core.stdc.math.erf           erf;
1469     ///
1470     alias core.stdc.math.erff          erf;
1471     ///
1472     alias core.stdc.math.erfl          erf;
1473 
1474     ///
1475     alias core.stdc.math.erfc          erfc;
1476     ///
1477     alias core.stdc.math.erfcf         erfc;
1478     ///
1479     alias core.stdc.math.erfcl         erfc;
1480 
1481     ///
1482     alias core.stdc.math.lgamma        lgamma;
1483     ///
1484     alias core.stdc.math.lgammaf       lgamma;
1485     ///
1486     alias core.stdc.math.lgammal       lgamma;
1487 
1488     ///
1489     alias core.stdc.math.tgamma        tgamma;
1490     ///
1491     alias core.stdc.math.tgammaf       tgamma;
1492     ///
1493     alias core.stdc.math.tgammal       tgamma;
1494 
1495     ///
1496     alias core.stdc.math.ceil          ceil;
1497     ///
1498     alias core.stdc.math.ceilf         ceil;
1499     ///
1500     alias core.stdc.math.ceill         ceil;
1501 
1502     ///
1503     alias core.stdc.math.floor         floor;
1504     ///
1505     alias core.stdc.math.floorf        floor;
1506     ///
1507     alias core.stdc.math.floorl        floor;
1508 
1509     ///
1510     alias core.stdc.math.nearbyint     nearbyint;
1511     ///
1512     alias core.stdc.math.nearbyintf    nearbyint;
1513     ///
1514     alias core.stdc.math.nearbyintl    nearbyint;
1515 
1516     ///
1517     alias core.stdc.math.rint          rint;
1518     ///
1519     alias core.stdc.math.rintf         rint;
1520     ///
1521     alias core.stdc.math.rintl         rint;
1522 
1523     ///
1524     alias core.stdc.math.lrint         lrint;
1525     ///
1526     alias core.stdc.math.lrintf        lrint;
1527     ///
1528     alias core.stdc.math.lrintl        lrint;
1529 
1530     ///
1531     alias core.stdc.math.llrint        llrint;
1532     ///
1533     alias core.stdc.math.llrintf       llrint;
1534     ///
1535     alias core.stdc.math.llrintl       llrint;
1536 
1537     ///
1538     alias core.stdc.math.round         round;
1539     ///
1540     alias core.stdc.math.roundf        round;
1541     ///
1542     alias core.stdc.math.roundl        round;
1543 
1544     ///
1545     alias core.stdc.math.lround        lround;
1546     ///
1547     alias core.stdc.math.lroundf       lround;
1548     ///
1549     alias core.stdc.math.lroundl       lround;
1550 
1551     ///
1552     alias core.stdc.math.llround       llround;
1553     ///
1554     alias core.stdc.math.llroundf      llround;
1555     ///
1556     alias core.stdc.math.llroundl      llround;
1557 
1558     ///
1559     alias core.stdc.math.trunc         trunc;
1560     ///
1561     alias core.stdc.math.truncf        trunc;
1562     ///
1563     alias core.stdc.math.truncl        trunc;
1564 
1565     ///
1566     alias core.stdc.math.remainder     remainder;
1567     ///
1568     alias core.stdc.math.remainderf    remainder;
1569     ///
1570     alias core.stdc.math.remainderl    remainder;
1571 
1572     ///
1573     alias core.stdc.math.remquo        remquo;
1574     ///
1575     alias core.stdc.math.remquof       remquo;
1576     ///
1577     alias core.stdc.math.remquol       remquo;
1578 
1579     ///
1580     alias core.stdc.math.copysign      copysign;
1581     ///
1582     alias core.stdc.math.copysignf     copysign;
1583     ///
1584     alias core.stdc.math.copysignl     copysign;
1585 
1586     ///
1587     alias core.stdc.math.nextafter     nextafter;
1588     ///
1589     alias core.stdc.math.nextafterf    nextafter;
1590     ///
1591     alias core.stdc.math.nextafterl    nextafter;
1592 
1593     ///
1594     alias core.stdc.math.nexttoward    nexttoward;
1595     ///
1596     alias core.stdc.math.nexttowardf   nexttoward;
1597     ///
1598     alias core.stdc.math.nexttowardl   nexttoward;
1599 
1600     ///
1601     alias core.stdc.math.fdim          fdim;
1602     ///
1603     alias core.stdc.math.fdimf         fdim;
1604     ///
1605     alias core.stdc.math.fdiml         fdim;
1606 
1607     ///
1608     alias core.stdc.math.fmax          fmax;
1609     ///
1610     alias core.stdc.math.fmaxf         fmax;
1611     ///
1612     alias core.stdc.math.fmaxl         fmax;
1613 
1614     ///
1615     alias core.stdc.math.fmin          fmin;
1616     ///
1617     alias core.stdc.math.fmin          fmin;
1618     ///
1619     alias core.stdc.math.fminl         fmin;
1620 
1621     ///
1622     alias core.stdc.math.fma           fma;
1623     ///
1624     alias core.stdc.math.fmaf          fma;
1625     ///
1626     alias core.stdc.math.fmal          fma;
1627 
1628     ///
1629     alias core.stdc.complex.carg       carg;
1630     ///
1631     alias core.stdc.complex.cargf      carg;
1632     ///
1633     alias core.stdc.complex.cargl      carg;
1634 
1635     ///
1636     alias core.stdc.complex.cimag      cimag;
1637     ///
1638     alias core.stdc.complex.cimagf     cimag;
1639     ///
1640     alias core.stdc.complex.cimagl     cimag;
1641 
1642     ///
1643     alias core.stdc.complex.conj       conj;
1644     ///
1645     alias core.stdc.complex.conjf      conj;
1646     ///
1647     alias core.stdc.complex.conjl      conj;
1648 
1649     ///
1650     alias core.stdc.complex.cproj      cproj;
1651     ///
1652     alias core.stdc.complex.cprojf     cproj;
1653     ///
1654     alias core.stdc.complex.cprojl     cproj;
1655 
1656 //  alias core.stdc.complex.creal      creal;
1657 //  alias core.stdc.complex.crealf     creal;
1658 //  alias core.stdc.complex.creall     creal;
1659 }
1660 else
1661 {
1662     ///
1663     alias core.stdc.math.acos          acos;
1664     ///
1665     alias core.stdc.math.acosf         acos;
1666     ///
1667     alias core.stdc.math.acosl         acos;
1668 
1669     ///
1670     alias core.stdc.complex.cacos      acos;
1671     ///
1672     alias core.stdc.complex.cacosf     acos;
1673     ///
1674     alias core.stdc.complex.cacosl     acos;
1675 
1676     ///
1677     alias core.stdc.math.asin          asin;
1678     ///
1679     alias core.stdc.math.asinf         asin;
1680     ///
1681     alias core.stdc.math.asinl         asin;
1682 
1683     ///
1684     alias core.stdc.complex.casin      asin;
1685     ///
1686     alias core.stdc.complex.casinf     asin;
1687     ///
1688     alias core.stdc.complex.casinl     asin;
1689 
1690     ///
1691     alias core.stdc.math.atan          atan;
1692     ///
1693     alias core.stdc.math.atanf         atan;
1694     ///
1695     alias core.stdc.math.atanl         atan;
1696 
1697     ///
1698     alias core.stdc.complex.catan      atan;
1699     ///
1700     alias core.stdc.complex.catanf     atan;
1701     ///
1702     alias core.stdc.complex.catanl     atan;
1703 
1704     ///
1705     alias core.stdc.math.atan2         atan2;
1706     ///
1707     alias core.stdc.math.atan2f        atan2;
1708     ///
1709     alias core.stdc.math.atan2l        atan2;
1710 
1711     ///
1712     alias core.stdc.math.cos           cos;
1713     ///
1714     alias core.stdc.math.cosf          cos;
1715     ///
1716     alias core.stdc.math.cosl          cos;
1717 
1718     ///
1719     alias core.stdc.complex.ccos       cos;
1720     ///
1721     alias core.stdc.complex.ccosf      cos;
1722     ///
1723     alias core.stdc.complex.ccosl      cos;
1724 
1725     ///
1726     alias core.stdc.math.sin           sin;
1727     ///
1728     alias core.stdc.math.sinf          sin;
1729     ///
1730     alias core.stdc.math.sinl          sin;
1731 
1732     ///
1733     alias core.stdc.complex.csin       csin;
1734     ///
1735     alias core.stdc.complex.csinf      csin;
1736     ///
1737     alias core.stdc.complex.csinl      csin;
1738 
1739     ///
1740     alias core.stdc.math.tan           tan;
1741     ///
1742     alias core.stdc.math.tanf          tan;
1743     ///
1744     alias core.stdc.math.tanl          tan;
1745 
1746     ///
1747     alias core.stdc.complex.ctan       tan;
1748     ///
1749     alias core.stdc.complex.ctanf      tan;
1750     ///
1751     alias core.stdc.complex.ctanl      tan;
1752 
1753     ///
1754     alias core.stdc.math.acosh         acosh;
1755     ///
1756     alias core.stdc.math.acoshf        acosh;
1757     ///
1758     alias core.stdc.math.acoshl        acosh;
1759 
1760     ///
1761     alias core.stdc.complex.cacosh     acosh;
1762     ///
1763     alias core.stdc.complex.cacoshf    acosh;
1764     ///
1765     alias core.stdc.complex.cacoshl    acosh;
1766 
1767     ///
1768     alias core.stdc.math.asinh         asinh;
1769     ///
1770     alias core.stdc.math.asinhf        asinh;
1771     ///
1772     alias core.stdc.math.asinhl        asinh;
1773 
1774     ///
1775     alias core.stdc.complex.casinh     asinh;
1776     ///
1777     alias core.stdc.complex.casinhf    asinh;
1778     ///
1779     alias core.stdc.complex.casinhl    asinh;
1780 
1781     ///
1782     alias core.stdc.math.atanh         atanh;
1783     ///
1784     alias core.stdc.math.atanhf        atanh;
1785     ///
1786     alias core.stdc.math.atanhl        atanh;
1787 
1788     ///
1789     alias core.stdc.complex.catanh     atanh;
1790     ///
1791     alias core.stdc.complex.catanhf    atanh;
1792     ///
1793     alias core.stdc.complex.catanhl    atanh;
1794 
1795     ///
1796     alias core.stdc.math.cosh          cosh;
1797     ///
1798     alias core.stdc.math.coshf         cosh;
1799     ///
1800     alias core.stdc.math.coshl         cosh;
1801 
1802     ///
1803     alias core.stdc.complex.ccosh      cosh;
1804     ///
1805     alias core.stdc.complex.ccoshf     cosh;
1806     ///
1807     alias core.stdc.complex.ccoshl     cosh;
1808 
1809     ///
1810     alias core.stdc.math.sinh          sinh;
1811     ///
1812     alias core.stdc.math.sinhf         sinh;
1813     ///
1814     alias core.stdc.math.sinhl         sinh;
1815 
1816     ///
1817     alias core.stdc.complex.csinh      sinh;
1818     ///
1819     alias core.stdc.complex.csinhf     sinh;
1820     ///
1821     alias core.stdc.complex.csinhl     sinh;
1822 
1823     ///
1824     alias core.stdc.math.tanh          tanh;
1825     ///
1826     alias core.stdc.math.tanhf         tanh;
1827     ///
1828     alias core.stdc.math.tanhl         tanh;
1829 
1830     ///
1831     alias core.stdc.complex.ctanh      tanh;
1832     ///
1833     alias core.stdc.complex.ctanhf     tanh;
1834     ///
1835     alias core.stdc.complex.ctanhl     tanh;
1836 
1837     ///
1838     alias core.stdc.math.exp           exp;
1839     ///
1840     alias core.stdc.math.expf          exp;
1841     ///
1842     alias core.stdc.math.expl          exp;
1843 
1844     ///
1845     alias core.stdc.complex.cexp       exp;
1846     ///
1847     alias core.stdc.complex.cexpf      exp;
1848     ///
1849     alias core.stdc.complex.cexpl      exp;
1850 
1851     ///
1852     alias core.stdc.math.exp2          exp2;
1853     ///
1854     alias core.stdc.math.exp2f         exp2;
1855     ///
1856     alias core.stdc.math.exp2l         exp2;
1857 
1858     ///
1859     alias core.stdc.math.expm1         expm1;
1860     ///
1861     alias core.stdc.math.expm1f        expm1;
1862     ///
1863     alias core.stdc.math.expm1l        expm1;
1864 
1865     ///
1866     alias core.stdc.math.frexp         frexp;
1867     ///
1868     alias core.stdc.math.frexpf        frexp;
1869     ///
1870     alias core.stdc.math.frexpl        frexp;
1871 
1872     ///
1873     alias core.stdc.math.ilogb         ilogb;
1874     ///
1875     alias core.stdc.math.ilogbf        ilogb;
1876     ///
1877     alias core.stdc.math.ilogbl        ilogb;
1878 
1879     ///
1880     alias core.stdc.math.ldexp         ldexp;
1881     ///
1882     alias core.stdc.math.ldexpf        ldexp;
1883     ///
1884     alias core.stdc.math.ldexpl        ldexp;
1885 
1886     ///
1887     alias core.stdc.math.log           log;
1888     ///
1889     alias core.stdc.math.logf          log;
1890     ///
1891     alias core.stdc.math.logl          log;
1892 
1893     ///
1894     alias core.stdc.complex.clog       log;
1895     ///
1896     alias core.stdc.complex.clogf      log;
1897     ///
1898     alias core.stdc.complex.clogl      log;
1899 
1900     ///
1901     alias core.stdc.math.log10         log10;
1902     ///
1903     alias core.stdc.math.log10f        log10;
1904     ///
1905     alias core.stdc.math.log10l        log10;
1906 
1907     ///
1908     alias core.stdc.math.log1p         log1p;
1909     ///
1910     alias core.stdc.math.log1pf        log1p;
1911     ///
1912     alias core.stdc.math.log1pl        log1p;
1913 
1914     ///
1915     alias core.stdc.math.log2          log2;
1916     ///
1917     alias core.stdc.math.log2f         log2;
1918     ///
1919     alias core.stdc.math.log2l         log2;
1920 
1921     ///
1922     alias core.stdc.math.logb          logb;
1923     ///
1924     alias core.stdc.math.logbf         logb;
1925     ///
1926     alias core.stdc.math.logbl         logb;
1927 
1928     ///
1929     alias core.stdc.math.modf          modf;
1930     ///
1931     alias core.stdc.math.modff         modf;
1932     ///
1933     alias core.stdc.math.modfl         modf;
1934 
1935     ///
1936     alias core.stdc.math.scalbn        scalbn;
1937     ///
1938     alias core.stdc.math.scalbnf       scalbn;
1939     ///
1940     alias core.stdc.math.scalbnl       scalbn;
1941 
1942     ///
1943     alias core.stdc.math.scalbln       scalbln;
1944     ///
1945     alias core.stdc.math.scalblnf      scalbln;
1946     ///
1947     alias core.stdc.math.scalblnl      scalbln;
1948 
1949     ///
1950     alias core.stdc.math.cbrt          cbrt;
1951     ///
1952     alias core.stdc.math.cbrtf         cbrt;
1953     ///
1954     alias core.stdc.math.cbrtl         cbrt;
1955 
1956     ///
1957     alias core.stdc.math.fabs          fabs;
version(CRuntime_Microsoft)1958     version (CRuntime_Microsoft)
1959     {
1960     }
1961     else
1962     {
1963         ///
1964         alias core.stdc.math.fabsf         fabs;
1965         ///
1966         alias core.stdc.math.fabsl         fabs;
1967     }
1968 
1969     ///
1970     alias core.stdc.complex.cabs       fabs;
1971     ///
1972     alias core.stdc.complex.cabsf      fabs;
1973     ///
1974     alias core.stdc.complex.cabsl      fabs;
1975 
1976     ///
1977     alias core.stdc.math.hypot         hypot;
1978     ///
1979     alias core.stdc.math.hypotf        hypot;
1980     ///
1981     alias core.stdc.math.hypotl        hypot;
1982 
1983     ///
1984     alias core.stdc.math.pow           pow;
1985     ///
1986     alias core.stdc.math.powf          pow;
1987     ///
1988     alias core.stdc.math.powl          pow;
1989 
1990     ///
1991     alias core.stdc.complex.cpow       pow;
1992     ///
1993     alias core.stdc.complex.cpowf      pow;
1994     ///
1995     alias core.stdc.complex.cpowl      pow;
1996 
1997     ///
1998     alias core.stdc.math.sqrt          sqrt;
1999     ///
2000     alias core.stdc.math.sqrtf         sqrt;
2001     ///
2002     alias core.stdc.math.sqrtl         sqrt;
2003 
2004     ///
2005     alias core.stdc.complex.csqrt      sqrt;
2006     ///
2007     alias core.stdc.complex.csqrtf     sqrt;
2008     ///
2009     alias core.stdc.complex.csqrtl     sqrt;
2010 
2011     ///
2012     alias core.stdc.math.erf           erf;
2013     ///
2014     alias core.stdc.math.erff          erf;
2015     ///
2016     alias core.stdc.math.erfl          erf;
2017 
2018     ///
2019     alias core.stdc.math.erfc          erfc;
2020     ///
2021     alias core.stdc.math.erfcf         erfc;
2022     ///
2023     alias core.stdc.math.erfcl         erfc;
2024 
2025     ///
2026     alias core.stdc.math.lgamma        lgamma;
2027     ///
2028     alias core.stdc.math.lgammaf       lgamma;
2029     ///
2030     alias core.stdc.math.lgammal       lgamma;
2031 
2032     ///
2033     alias core.stdc.math.tgamma        tgamma;
2034     ///
2035     alias core.stdc.math.tgammaf       tgamma;
2036     ///
2037     alias core.stdc.math.tgammal       tgamma;
2038 
2039     ///
2040     alias core.stdc.math.ceil          ceil;
2041     ///
2042     alias core.stdc.math.ceilf         ceil;
2043     ///
2044     alias core.stdc.math.ceill         ceil;
2045 
2046     ///
2047     alias core.stdc.math.floor         floor;
2048     ///
2049     alias core.stdc.math.floorf        floor;
2050     ///
2051     alias core.stdc.math.floorl        floor;
2052 
2053     ///
2054     alias core.stdc.math.nearbyint     nearbyint;
2055     ///
2056     alias core.stdc.math.nearbyintf    nearbyint;
2057     ///
2058     alias core.stdc.math.nearbyintl    nearbyint;
2059 
2060     ///
2061     alias core.stdc.math.rint          rint;
2062     ///
2063     alias core.stdc.math.rintf         rint;
2064     ///
2065     alias core.stdc.math.rintl         rint;
2066 
2067     ///
2068     alias core.stdc.math.lrint         lrint;
2069     ///
2070     alias core.stdc.math.lrintf        lrint;
2071     ///
2072     alias core.stdc.math.lrintl        lrint;
2073 
2074     ///
2075     alias core.stdc.math.llrint        llrint;
2076     ///
2077     alias core.stdc.math.llrintf       llrint;
2078     ///
2079     alias core.stdc.math.llrintl       llrint;
2080 
2081     ///
2082     alias core.stdc.math.round         round;
2083     ///
2084     alias core.stdc.math.roundf        round;
2085     ///
2086     alias core.stdc.math.roundl        round;
2087 
2088     ///
2089     alias core.stdc.math.lround        lround;
2090     ///
2091     alias core.stdc.math.lroundf       lround;
2092     ///
2093     alias core.stdc.math.lroundl       lround;
2094 
2095     ///
2096     alias core.stdc.math.llround       llround;
2097     ///
2098     alias core.stdc.math.llroundf      llround;
2099     ///
2100     alias core.stdc.math.llroundl      llround;
2101 
2102     ///
2103     alias core.stdc.math.trunc         trunc;
2104     ///
2105     alias core.stdc.math.truncf        trunc;
2106     ///
2107     alias core.stdc.math.truncl        trunc;
2108 
2109     ///
2110     alias core.stdc.math.fmod          fmod;
2111     ///
2112     alias core.stdc.math.fmodf         fmod;
2113     ///
2114     alias core.stdc.math.fmodl         fmod;
2115 
2116     ///
2117     alias core.stdc.math.remainder     remainder;
2118     ///
2119     alias core.stdc.math.remainderf    remainder;
2120     ///
2121     alias core.stdc.math.remainderl    remainder;
2122 
2123     ///
2124     alias core.stdc.math.remquo        remquo;
2125     ///
2126     alias core.stdc.math.remquof       remquo;
2127     ///
2128     alias core.stdc.math.remquol       remquo;
2129 
2130     ///
2131     alias core.stdc.math.copysign      copysign;
2132     ///
2133     alias core.stdc.math.copysignf     copysign;
2134     ///
2135     alias core.stdc.math.copysignl     copysign;
2136 
2137     ///
2138     alias core.stdc.math.nan           nan;
2139     ///
2140     alias core.stdc.math.nanf          nan;
2141     ///
2142     alias core.stdc.math.nanl          nan;
2143 
2144     ///
2145     alias core.stdc.math.nextafter     nextafter;
2146     ///
2147     alias core.stdc.math.nextafterf    nextafter;
2148     ///
2149     alias core.stdc.math.nextafterl    nextafter;
2150 
2151     ///
2152     alias core.stdc.math.nexttoward    nexttoward;
2153     ///
2154     alias core.stdc.math.nexttowardf   nexttoward;
2155     ///
2156     alias core.stdc.math.nexttowardl   nexttoward;
2157 
2158     ///
2159     alias core.stdc.math.fdim          fdim;
2160     ///
2161     alias core.stdc.math.fdimf         fdim;
2162     ///
2163     alias core.stdc.math.fdiml         fdim;
2164 
2165     ///
2166     alias core.stdc.math.fmax          fmax;
2167     ///
2168     alias core.stdc.math.fmaxf         fmax;
2169     ///
2170     alias core.stdc.math.fmaxl         fmax;
2171 
2172     ///
2173     alias core.stdc.math.fmin          fmin;
2174     ///
2175     alias core.stdc.math.fmin          fmin;
2176     ///
2177     alias core.stdc.math.fminl         fmin;
2178 
2179     ///
2180     alias core.stdc.math.fma           fma;
2181     ///
2182     alias core.stdc.math.fmaf          fma;
2183     ///
2184     alias core.stdc.math.fmal          fma;
2185 
2186     ///
2187     alias core.stdc.complex.carg       carg;
2188     ///
2189     alias core.stdc.complex.cargf      carg;
2190     ///
2191     alias core.stdc.complex.cargl      carg;
2192 
2193     ///
2194     alias core.stdc.complex.cimag      cimag;
2195     ///
2196     alias core.stdc.complex.cimagf     cimag;
2197     ///
2198     alias core.stdc.complex.cimagl     cimag;
2199 
2200     ///
2201     alias core.stdc.complex.conj       conj;
2202     ///
2203     alias core.stdc.complex.conjf      conj;
2204     ///
2205     alias core.stdc.complex.conjl      conj;
2206 
2207     ///
2208     alias core.stdc.complex.cproj      cproj;
2209     ///
2210     alias core.stdc.complex.cprojf     cproj;
2211     ///
2212     alias core.stdc.complex.cprojl     cproj;
2213 
2214 //  alias core.stdc.complex.creal      creal;
2215 //  alias core.stdc.complex.crealf     creal;
2216 //  alias core.stdc.complex.creall     creal;
2217 }
2218