Mercurial > projects > ldc
diff druntime/import/core/stdc/tgmath.d @ 1458:e0b2d67cfe7c
Added druntime (this should be removed once it works).
author | Robert Clipsham <robert@octarineparrot.com> |
---|---|
date | Tue, 02 Jun 2009 17:43:06 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/druntime/import/core/stdc/tgmath.d Tue Jun 02 17:43:06 2009 +0100 @@ -0,0 +1,657 @@ +/** + * D header file for C99. + * + * Copyright: Copyright Sean Kelly 2005 - 2009. + * License: <a href="http://www.boost.org/LICENSE_1_0.txt>Boost License 1.0</a>. + * Authors: Sean Kelly + * Standards: ISO/IEC 9899:1999 (E) + * + * Copyright Sean Kelly 2005 - 2009. + * Distributed under the Boost Software License, Version 1.0. + * (See accompanying file LICENSE_1_0.txt or copy at + * http://www.boost.org/LICENSE_1_0.txt) + */ +module core.stdc.tgmath; + +private import core.stdc.config; +private static import core.stdc.math; +private static import core.stdc.complex; + +extern (C): + +version( freebsd ) +{ + alias core.stdc.math.acos acos; + alias core.stdc.math.acosf acos; + alias core.stdc.math.acosl acos; + + alias core.stdc.complex.cacos acos; + alias core.stdc.complex.cacosf acos; + alias core.stdc.complex.cacosl acos; + + alias core.stdc.math.asin asin; + alias core.stdc.math.asinf asin; + alias core.stdc.math.asinl asin; + + alias core.stdc.complex.casin asin; + alias core.stdc.complex.casinf asin; + alias core.stdc.complex.casinl asin; + + alias core.stdc.math.atan atan; + alias core.stdc.math.atanf atan; + alias core.stdc.math.atanl atan; + + alias core.stdc.complex.catan atan; + alias core.stdc.complex.catanf atan; + alias core.stdc.complex.catanl atan; + + alias core.stdc.math.atan2 atan2; + alias core.stdc.math.atan2f atan2; + alias core.stdc.math.atan2l atan2; + + alias core.stdc.math.cos cos; + alias core.stdc.math.cosf cos; + alias core.stdc.math.cosl cos; + + alias core.stdc.complex.ccos cos; + alias core.stdc.complex.ccosf cos; + alias core.stdc.complex.ccosl cos; + + alias core.stdc.math.sin sin; + alias core.stdc.math.sinf sin; + alias core.stdc.math.sinl sin; + + alias core.stdc.complex.csin csin; + alias core.stdc.complex.csinf csin; + alias core.stdc.complex.csinl csin; + + alias core.stdc.math.tan tan; + alias core.stdc.math.tanf tan; + alias core.stdc.math.tanl tan; + + alias core.stdc.complex.ctan tan; + alias core.stdc.complex.ctanf tan; + alias core.stdc.complex.ctanl tan; + + alias core.stdc.math.acosh acosh; + alias core.stdc.math.acoshf acosh; + alias core.stdc.math.acoshl acosh; + + alias core.stdc.complex.cacosh acosh; + alias core.stdc.complex.cacoshf acosh; + alias core.stdc.complex.cacoshl acosh; + + alias core.stdc.math.asinh asinh; + alias core.stdc.math.asinhf asinh; + alias core.stdc.math.asinhl asinh; + + alias core.stdc.complex.casinh asinh; + alias core.stdc.complex.casinhf asinh; + alias core.stdc.complex.casinhl asinh; + + alias core.stdc.math.atanh atanh; + alias core.stdc.math.atanhf atanh; + alias core.stdc.math.atanhl atanh; + + alias core.stdc.complex.catanh atanh; + alias core.stdc.complex.catanhf atanh; + alias core.stdc.complex.catanhl atanh; + + alias core.stdc.math.cosh cosh; + alias core.stdc.math.coshf cosh; + alias core.stdc.math.coshl cosh; + + alias core.stdc.complex.ccosh cosh; + alias core.stdc.complex.ccoshf cosh; + alias core.stdc.complex.ccoshl cosh; + + alias core.stdc.math.sinh sinh; + alias core.stdc.math.sinhf sinh; + alias core.stdc.math.sinhl sinh; + + alias core.stdc.complex.csinh sinh; + alias core.stdc.complex.csinhf sinh; + alias core.stdc.complex.csinhl sinh; + + alias core.stdc.math.tanh tanh; + alias core.stdc.math.tanhf tanh; + alias core.stdc.math.tanhl tanh; + + alias core.stdc.complex.ctanh tanh; + alias core.stdc.complex.ctanhf tanh; + alias core.stdc.complex.ctanhl tanh; + + alias core.stdc.math.exp exp; + alias core.stdc.math.expf exp; + alias core.stdc.math.expl exp; + + alias core.stdc.complex.cexp exp; + alias core.stdc.complex.cexpf exp; + alias core.stdc.complex.cexpl exp; + + alias core.stdc.math.exp2 exp2; + alias core.stdc.math.exp2f exp2; + alias core.stdc.math.exp2l exp2; + + alias core.stdc.math.expm1 expm1; + alias core.stdc.math.expm1f expm1; + alias core.stdc.math.expm1l expm1; + + alias core.stdc.math.frexp frexp; + alias core.stdc.math.frexpf frexp; + alias core.stdc.math.frexpl frexp; + + alias core.stdc.math.ilogb ilogb; + alias core.stdc.math.ilogbf ilogb; + alias core.stdc.math.ilogbl ilogb; + + alias core.stdc.math.ldexp ldexp; + alias core.stdc.math.ldexpf ldexp; + alias core.stdc.math.ldexpl ldexp; + + alias core.stdc.math.log log; + alias core.stdc.math.logf log; + alias core.stdc.math.logl log; + + alias core.stdc.complex.clog log; + alias core.stdc.complex.clogf log; + alias core.stdc.complex.clogl log; + + alias core.stdc.math.log10 log10; + alias core.stdc.math.log10f log10; + alias core.stdc.math.log10l log10; + + alias core.stdc.math.log1p log1p; + alias core.stdc.math.log1pf log1p; + alias core.stdc.math.log1pl log1p; + + alias core.stdc.math.log2 log1p; + alias core.stdc.math.log2f log1p; + alias core.stdc.math.log2l log1p; + + alias core.stdc.math.logb log1p; + alias core.stdc.math.logbf log1p; + alias core.stdc.math.logbl log1p; + + alias core.stdc.math.modf modf; + alias core.stdc.math.modff modf; +// alias core.stdc.math.modfl modf; + + alias core.stdc.math.scalbn scalbn; + alias core.stdc.math.scalbnf scalbn; + alias core.stdc.math.scalbnl scalbn; + + alias core.stdc.math.scalbln scalbln; + alias core.stdc.math.scalblnf scalbln; + alias core.stdc.math.scalblnl scalbln; + + alias core.stdc.math.cbrt cbrt; + alias core.stdc.math.cbrtf cbrt; + alias core.stdc.math.cbrtl cbrt; + + alias core.stdc.math.fabs fabs; + alias core.stdc.math.fabsf fabs; + alias core.stdc.math.fabsl fabs; + + alias core.stdc.complex.cabs fabs; + alias core.stdc.complex.cabsf fabs; + alias core.stdc.complex.cabsl fabs; + + alias core.stdc.math.hypot hypot; + alias core.stdc.math.hypotf hypot; + alias core.stdc.math.hypotl hypot; + + alias core.stdc.math.pow pow; + alias core.stdc.math.powf pow; + alias core.stdc.math.powl pow; + + alias core.stdc.complex.cpow pow; + alias core.stdc.complex.cpowf pow; + alias core.stdc.complex.cpowl pow; + + alias core.stdc.math.sqrt sqrt; + alias core.stdc.math.sqrtf sqrt; + alias core.stdc.math.sqrtl sqrt; + + alias core.stdc.complex.csqrt sqrt; + alias core.stdc.complex.csqrtf sqrt; + alias core.stdc.complex.csqrtl sqrt; + + alias core.stdc.math.erf erf; + alias core.stdc.math.erff erf; + alias core.stdc.math.erfl erf; + + alias core.stdc.math.erfc erfc; + alias core.stdc.math.erfcf erfc; + alias core.stdc.math.erfcl erfc; + + alias core.stdc.math.lgamma lgamma; + alias core.stdc.math.lgammaf lgamma; + alias core.stdc.math.lgammal lgamma; + + alias core.stdc.math.tgamma tgamma; + alias core.stdc.math.tgammaf tgamma; + alias core.stdc.math.tgammal tgamma; + + alias core.stdc.math.ceil ceil; + alias core.stdc.math.ceilf ceil; + alias core.stdc.math.ceill ceil; + + alias core.stdc.math.floor floor; + alias core.stdc.math.floorf floor; + alias core.stdc.math.floorl floor; + + alias core.stdc.math.nearbyint nearbyint; + alias core.stdc.math.nearbyintf nearbyint; + alias core.stdc.math.nearbyintl nearbyint; + + alias core.stdc.math.rint rint; + alias core.stdc.math.rintf rint; + alias core.stdc.math.rintl rint; + + alias core.stdc.math.lrint lrint; + alias core.stdc.math.lrintf lrint; + alias core.stdc.math.lrintl lrint; + + alias core.stdc.math.llrint llrint; + alias core.stdc.math.llrintf llrint; + alias core.stdc.math.llrintl llrint; + + alias core.stdc.math.round round; + alias core.stdc.math.roundf round; + alias core.stdc.math.roundl round; + + alias core.stdc.math.lround lround; + alias core.stdc.math.lroundf lround; + alias core.stdc.math.lroundl lround; + + alias core.stdc.math.llround llround; + alias core.stdc.math.llroundf llround; + alias core.stdc.math.llroundl llround; + + alias core.stdc.math.trunc trunc; + alias core.stdc.math.truncf trunc; + alias core.stdc.math.truncl trunc; + + alias core.stdc.math.fmod fmod; + alias core.stdc.math.fmodf fmod; + alias core.stdc.math.fmodl fmod; + + alias core.stdc.math.remainder remainder; + alias core.stdc.math.remainderf remainder; + alias core.stdc.math.remainderl remainder; + + alias core.stdc.math.remquo remquo; + alias core.stdc.math.remquof remquo; + alias core.stdc.math.remquol remquo; + + alias core.stdc.math.copysign copysign; + alias core.stdc.math.copysignf copysign; + alias core.stdc.math.copysignl copysign; + +// alias core.stdc.math.nan nan; +// alias core.stdc.math.nanf nan; +// alias core.stdc.math.nanl nan; + + alias core.stdc.math.nextafter nextafter; + alias core.stdc.math.nextafterf nextafter; + alias core.stdc.math.nextafterl nextafter; + + alias core.stdc.math.nexttoward nexttoward; + alias core.stdc.math.nexttowardf nexttoward; + alias core.stdc.math.nexttowardl nexttoward; + + alias core.stdc.math.fdim fdim; + alias core.stdc.math.fdimf fdim; + alias core.stdc.math.fdiml fdim; + + alias core.stdc.math.fmax fmax; + alias core.stdc.math.fmaxf fmax; + alias core.stdc.math.fmaxl fmax; + + alias core.stdc.math.fmin fmin; + alias core.stdc.math.fmin fmin; + alias core.stdc.math.fminl fmin; + + alias core.stdc.math.fma fma; + alias core.stdc.math.fmaf fma; + alias core.stdc.math.fmal fma; + + alias core.stdc.complex.carg carg; + alias core.stdc.complex.cargf carg; + alias core.stdc.complex.cargl carg; + + alias core.stdc.complex.cimag cimag; + alias core.stdc.complex.cimagf cimag; + alias core.stdc.complex.cimagl cimag; + + alias core.stdc.complex.conj conj; + alias core.stdc.complex.conjf conj; + alias core.stdc.complex.conjl conj; + + alias core.stdc.complex.cproj cproj; + alias core.stdc.complex.cprojf cproj; + alias core.stdc.complex.cprojl cproj; + +// alias core.stdc.complex.creal creal; +// alias core.stdc.complex.crealf creal; +// alias core.stdc.complex.creall creal; +} +else +{ + alias core.stdc.math.acos acos; + alias core.stdc.math.acosf acos; + alias core.stdc.math.acosl acos; + + alias core.stdc.complex.cacos acos; + alias core.stdc.complex.cacosf acos; + alias core.stdc.complex.cacosl acos; + + alias core.stdc.math.asin asin; + alias core.stdc.math.asinf asin; + alias core.stdc.math.asinl asin; + + alias core.stdc.complex.casin asin; + alias core.stdc.complex.casinf asin; + alias core.stdc.complex.casinl asin; + + alias core.stdc.math.atan atan; + alias core.stdc.math.atanf atan; + alias core.stdc.math.atanl atan; + + alias core.stdc.complex.catan atan; + alias core.stdc.complex.catanf atan; + alias core.stdc.complex.catanl atan; + + alias core.stdc.math.atan2 atan2; + alias core.stdc.math.atan2f atan2; + alias core.stdc.math.atan2l atan2; + + alias core.stdc.math.cos cos; + alias core.stdc.math.cosf cos; + alias core.stdc.math.cosl cos; + + alias core.stdc.complex.ccos cos; + alias core.stdc.complex.ccosf cos; + alias core.stdc.complex.ccosl cos; + + alias core.stdc.math.sin sin; + alias core.stdc.math.sinf sin; + alias core.stdc.math.sinl sin; + + alias core.stdc.complex.csin csin; + alias core.stdc.complex.csinf csin; + alias core.stdc.complex.csinl csin; + + alias core.stdc.math.tan tan; + alias core.stdc.math.tanf tan; + alias core.stdc.math.tanl tan; + + alias core.stdc.complex.ctan tan; + alias core.stdc.complex.ctanf tan; + alias core.stdc.complex.ctanl tan; + + alias core.stdc.math.acosh acosh; + alias core.stdc.math.acoshf acosh; + alias core.stdc.math.acoshl acosh; + + alias core.stdc.complex.cacosh acosh; + alias core.stdc.complex.cacoshf acosh; + alias core.stdc.complex.cacoshl acosh; + + alias core.stdc.math.asinh asinh; + alias core.stdc.math.asinhf asinh; + alias core.stdc.math.asinhl asinh; + + alias core.stdc.complex.casinh asinh; + alias core.stdc.complex.casinhf asinh; + alias core.stdc.complex.casinhl asinh; + + alias core.stdc.math.atanh atanh; + alias core.stdc.math.atanhf atanh; + alias core.stdc.math.atanhl atanh; + + alias core.stdc.complex.catanh atanh; + alias core.stdc.complex.catanhf atanh; + alias core.stdc.complex.catanhl atanh; + + alias core.stdc.math.cosh cosh; + alias core.stdc.math.coshf cosh; + alias core.stdc.math.coshl cosh; + + alias core.stdc.complex.ccosh cosh; + alias core.stdc.complex.ccoshf cosh; + alias core.stdc.complex.ccoshl cosh; + + alias core.stdc.math.sinh sinh; + alias core.stdc.math.sinhf sinh; + alias core.stdc.math.sinhl sinh; + + alias core.stdc.complex.csinh sinh; + alias core.stdc.complex.csinhf sinh; + alias core.stdc.complex.csinhl sinh; + + alias core.stdc.math.tanh tanh; + alias core.stdc.math.tanhf tanh; + alias core.stdc.math.tanhl tanh; + + alias core.stdc.complex.ctanh tanh; + alias core.stdc.complex.ctanhf tanh; + alias core.stdc.complex.ctanhl tanh; + + alias core.stdc.math.exp exp; + alias core.stdc.math.expf exp; + alias core.stdc.math.expl exp; + + alias core.stdc.complex.cexp exp; + alias core.stdc.complex.cexpf exp; + alias core.stdc.complex.cexpl exp; + + alias core.stdc.math.exp2 exp2; + alias core.stdc.math.exp2f exp2; + alias core.stdc.math.exp2l exp2; + + alias core.stdc.math.expm1 expm1; + alias core.stdc.math.expm1f expm1; + alias core.stdc.math.expm1l expm1; + + alias core.stdc.math.frexp frexp; + alias core.stdc.math.frexpf frexp; + alias core.stdc.math.frexpl frexp; + + alias core.stdc.math.ilogb ilogb; + alias core.stdc.math.ilogbf ilogb; + alias core.stdc.math.ilogbl ilogb; + + alias core.stdc.math.ldexp ldexp; + alias core.stdc.math.ldexpf ldexp; + alias core.stdc.math.ldexpl ldexp; + + alias core.stdc.math.log log; + alias core.stdc.math.logf log; + alias core.stdc.math.logl log; + + alias core.stdc.complex.clog log; + alias core.stdc.complex.clogf log; + alias core.stdc.complex.clogl log; + + alias core.stdc.math.log10 log10; + alias core.stdc.math.log10f log10; + alias core.stdc.math.log10l log10; + + alias core.stdc.math.log1p log1p; + alias core.stdc.math.log1pf log1p; + alias core.stdc.math.log1pl log1p; + + alias core.stdc.math.log2 log1p; + alias core.stdc.math.log2f log1p; + alias core.stdc.math.log2l log1p; + + alias core.stdc.math.logb log1p; + alias core.stdc.math.logbf log1p; + alias core.stdc.math.logbl log1p; + + alias core.stdc.math.modf modf; + alias core.stdc.math.modff modf; + alias core.stdc.math.modfl modf; + + alias core.stdc.math.scalbn scalbn; + alias core.stdc.math.scalbnf scalbn; + alias core.stdc.math.scalbnl scalbn; + + alias core.stdc.math.scalbln scalbln; + alias core.stdc.math.scalblnf scalbln; + alias core.stdc.math.scalblnl scalbln; + + alias core.stdc.math.cbrt cbrt; + alias core.stdc.math.cbrtf cbrt; + alias core.stdc.math.cbrtl cbrt; + + alias core.stdc.math.fabs fabs; + alias core.stdc.math.fabsf fabs; + alias core.stdc.math.fabsl fabs; + + alias core.stdc.complex.cabs fabs; + alias core.stdc.complex.cabsf fabs; + alias core.stdc.complex.cabsl fabs; + + alias core.stdc.math.hypot hypot; + alias core.stdc.math.hypotf hypot; + alias core.stdc.math.hypotl hypot; + + alias core.stdc.math.pow pow; + alias core.stdc.math.powf pow; + alias core.stdc.math.powl pow; + + alias core.stdc.complex.cpow pow; + alias core.stdc.complex.cpowf pow; + alias core.stdc.complex.cpowl pow; + + alias core.stdc.math.sqrt sqrt; + alias core.stdc.math.sqrtf sqrt; + alias core.stdc.math.sqrtl sqrt; + + alias core.stdc.complex.csqrt sqrt; + alias core.stdc.complex.csqrtf sqrt; + alias core.stdc.complex.csqrtl sqrt; + + alias core.stdc.math.erf erf; + alias core.stdc.math.erff erf; + alias core.stdc.math.erfl erf; + + alias core.stdc.math.erfc erfc; + alias core.stdc.math.erfcf erfc; + alias core.stdc.math.erfcl erfc; + + alias core.stdc.math.lgamma lgamma; + alias core.stdc.math.lgammaf lgamma; + alias core.stdc.math.lgammal lgamma; + + alias core.stdc.math.tgamma tgamma; + alias core.stdc.math.tgammaf tgamma; + alias core.stdc.math.tgammal tgamma; + + alias core.stdc.math.ceil ceil; + alias core.stdc.math.ceilf ceil; + alias core.stdc.math.ceill ceil; + + alias core.stdc.math.floor floor; + alias core.stdc.math.floorf floor; + alias core.stdc.math.floorl floor; + + alias core.stdc.math.nearbyint nearbyint; + alias core.stdc.math.nearbyintf nearbyint; + alias core.stdc.math.nearbyintl nearbyint; + + alias core.stdc.math.rint rint; + alias core.stdc.math.rintf rint; + alias core.stdc.math.rintl rint; + + alias core.stdc.math.lrint lrint; + alias core.stdc.math.lrintf lrint; + alias core.stdc.math.lrintl lrint; + + alias core.stdc.math.llrint llrint; + alias core.stdc.math.llrintf llrint; + alias core.stdc.math.llrintl llrint; + + alias core.stdc.math.round round; + alias core.stdc.math.roundf round; + alias core.stdc.math.roundl round; + + alias core.stdc.math.lround lround; + alias core.stdc.math.lroundf lround; + alias core.stdc.math.lroundl lround; + + alias core.stdc.math.llround llround; + alias core.stdc.math.llroundf llround; + alias core.stdc.math.llroundl llround; + + alias core.stdc.math.trunc trunc; + alias core.stdc.math.truncf trunc; + alias core.stdc.math.truncl trunc; + + alias core.stdc.math.fmod fmod; + alias core.stdc.math.fmodf fmod; + alias core.stdc.math.fmodl fmod; + + alias core.stdc.math.remainder remainder; + alias core.stdc.math.remainderf remainder; + alias core.stdc.math.remainderl remainder; + + alias core.stdc.math.remquo remquo; + alias core.stdc.math.remquof remquo; + alias core.stdc.math.remquol remquo; + + alias core.stdc.math.copysign copysign; + alias core.stdc.math.copysignf copysign; + alias core.stdc.math.copysignl copysign; + + alias core.stdc.math.nan nan; + alias core.stdc.math.nanf nan; + alias core.stdc.math.nanl nan; + + alias core.stdc.math.nextafter nextafter; + alias core.stdc.math.nextafterf nextafter; + alias core.stdc.math.nextafterl nextafter; + + alias core.stdc.math.nexttoward nexttoward; + alias core.stdc.math.nexttowardf nexttoward; + alias core.stdc.math.nexttowardl nexttoward; + + alias core.stdc.math.fdim fdim; + alias core.stdc.math.fdimf fdim; + alias core.stdc.math.fdiml fdim; + + alias core.stdc.math.fmax fmax; + alias core.stdc.math.fmaxf fmax; + alias core.stdc.math.fmaxl fmax; + + alias core.stdc.math.fmin fmin; + alias core.stdc.math.fmin fmin; + alias core.stdc.math.fminl fmin; + + alias core.stdc.math.fma fma; + alias core.stdc.math.fmaf fma; + alias core.stdc.math.fmal fma; + + alias core.stdc.complex.carg carg; + alias core.stdc.complex.cargf carg; + alias core.stdc.complex.cargl carg; + + alias core.stdc.complex.cimag cimag; + alias core.stdc.complex.cimagf cimag; + alias core.stdc.complex.cimagl cimag; + + alias core.stdc.complex.conj conj; + alias core.stdc.complex.conjf conj; + alias core.stdc.complex.conjl conj; + + alias core.stdc.complex.cproj cproj; + alias core.stdc.complex.cprojf cproj; + alias core.stdc.complex.cprojl cproj; + +// alias core.stdc.complex.creal creal; +// alias core.stdc.complex.crealf creal; +// alias core.stdc.complex.creall creal; +}