811 lines · plain
1// Copyright John Maddock 2008-11.2// Use, modification and distribution are subject to the3// Boost Software License, Version 1.0.4// (See accompanying file LICENSE_1_0.txt5// or copy at http://www.boost.org/LICENSE_1_0.txt)6 7#ifndef BOOST_MATH_C_MACROS_IPP8#define BOOST_MATH_C_MACROS_IPP9 10// C99 Functions:11#ifdef acosh12#undef acosh13#endif14#define acosh boost_acosh15#ifdef acoshf16#undef acoshf17#endif18#define acoshf boost_acoshf19#ifdef acoshl20#undef acoshl21#endif22#define acoshl boost_acoshl23 24#ifdef asinh25#undef asinh26#endif27#define asinh boost_asinh28#ifdef asinhf29#undef asinhf30#endif31#define asinhf boost_asinhf32#ifdef asinhl33#undef asinhl34#endif35#define asinhl boost_asinhl36 37#ifdef atanh38#undef atanh39#endif40#define atanh boost_atanh41#ifdef atanhf42#undef atanhf43#endif44#define atanhf boost_atanhf45#ifdef atanhl46#undef atanhl47#endif48#define atanhl boost_atanhl49 50#ifdef cbrt51#undef cbrt52#endif53#define cbrt boost_cbrt54#ifdef cbrtf55#undef cbrtf56#endif57#define cbrtf boost_cbrtf58#ifdef cbrtl59#undef cbrtl60#endif61#define cbrtl boost_cbrtl62 63#ifdef copysign64#undef copysign65#endif66#define copysign boost_copysign67#ifdef copysignf68#undef copysignf69#endif70#define copysignf boost_copysignf71#ifdef copysignl72#undef copysignl73#endif74#define copysignl boost_copysignl75 76#ifdef erf77#undef erf78#endif79#define erf boost_erf80#ifdef erff81#undef erff82#endif83#define erff boost_erff84#ifdef erfl85#undef erfl86#endif87#define erfl boost_erfl88 89#ifdef erfc90#undef erfc91#endif92#define erfc boost_erfc93#ifdef erfcf94#undef erfcf95#endif96#define erfcf boost_erfcf97#ifdef erfcl98#undef erfcl99#endif100#define erfcl boost_erfcl101 102#if 0103#ifdef exp2104#undef exp2105#endif106#define exp2 boost_exp2107#ifdef exp2f108#undef exp2f109#endif110#define exp2f boost_exp2f111#ifdef exp2l112#undef exp2l113#endif114#define exp2l boost_exp2l115#endif116 117#ifdef expm1118#undef expm1119#endif120#define expm1 boost_expm1121#ifdef expm1f122#undef expm1f123#endif124#define expm1f boost_expm1f125#ifdef expm1l126#undef expm1l127#endif128#define expm1l boost_expm1l129 130#if 0131#ifdef fdim132#undef fdim133#endif134#define fdim boost_fdim135#ifdef fdimf136#undef fdimf137#endif138#define fdimf boost_fdimf139#ifdef fdiml140#undef fdiml141#endif142#define fdiml boost_fdiml143#ifdef acosh144#undef acosh145#endif146#define fma boost_fma147#ifdef fmaf148#undef fmaf149#endif150#define fmaf boost_fmaf151#ifdef fmal152#undef fmal153#endif154#define fmal boost_fmal155#endif156 157#ifdef fmax158#undef fmax159#endif160#define fmax boost_fmax161#ifdef fmaxf162#undef fmaxf163#endif164#define fmaxf boost_fmaxf165#ifdef fmaxl166#undef fmaxl167#endif168#define fmaxl boost_fmaxl169 170#ifdef fmin171#undef fmin172#endif173#define fmin boost_fmin174#ifdef fminf175#undef fminf176#endif177#define fminf boost_fminf178#ifdef fminl179#undef fminl180#endif181#define fminl boost_fminl182 183#ifdef hypot184#undef hypot185#endif186#define hypot boost_hypot187#ifdef hypotf188#undef hypotf189#endif190#define hypotf boost_hypotf191#ifdef hypotl192#undef hypotl193#endif194#define hypotl boost_hypotl195 196#if 0197#ifdef ilogb198#undef ilogb199#endif200#define ilogb boost_ilogb201#ifdef ilogbf202#undef ilogbf203#endif204#define ilogbf boost_ilogbf205#ifdef ilogbl206#undef ilogbl207#endif208#define ilogbl boost_ilogbl209#endif210 211#ifdef lgamma212#undef lgamma213#endif214#define lgamma boost_lgamma215#ifdef lgammaf216#undef lgammaf217#endif218#define lgammaf boost_lgammaf219#ifdef lgammal220#undef lgammal221#endif222#define lgammal boost_lgammal223 224#ifdef BOOST_HAS_LONG_LONG225#if 0226#ifdef llrint227#undef llrint228#endif229#define llrint boost_llrint230#ifdef llrintf231#undef llrintf232#endif233#define llrintf boost_llrintf234#ifdef llrintl235#undef llrintl236#endif237#define llrintl boost_llrintl238#endif239#ifdef llround240#undef llround241#endif242#define llround boost_llround243#ifdef llroundf244#undef llroundf245#endif246#define llroundf boost_llroundf247#ifdef llroundl248#undef llroundl249#endif250#define llroundl boost_llroundl251#endif252 253#ifdef log1p254#undef log1p255#endif256#define log1p boost_log1p257#ifdef log1pf258#undef log1pf259#endif260#define log1pf boost_log1pf261#ifdef log1pl262#undef log1pl263#endif264#define log1pl boost_log1pl265 266#if 0267#ifdef log2268#undef log2269#endif270#define log2 boost_log2271#ifdef log2f272#undef log2f273#endif274#define log2f boost_log2f275#ifdef log2l276#undef log2l277#endif278#define log2l boost_log2l279 280#ifdef logb281#undef logb282#endif283#define logb boost_logb284#ifdef logbf285#undef logbf286#endif287#define logbf boost_logbf288#ifdef logbl289#undef logbl290#endif291#define logbl boost_logbl292 293#ifdef lrint294#undef lrint295#endif296#define lrint boost_lrint297#ifdef lrintf298#undef lrintf299#endif300#define lrintf boost_lrintf301#ifdef lrintl302#undef lrintl303#endif304#define lrintl boost_lrintl305#endif306 307#ifdef lround308#undef lround309#endif310#define lround boost_lround311#ifdef lroundf312#undef lroundf313#endif314#define lroundf boost_lroundf315#ifdef lroundl316#undef lroundl317#endif318#define lroundl boost_lroundl319 320#if 0321#ifdef nan322#undef nan323#endif324#define nan boost_nan325#ifdef nanf326#undef nanf327#endif328#define nanf boost_nanf329#ifdef nanl330#undef nanl331#endif332#define nanl boost_nanl333 334#ifdef nearbyint335#undef nearbyint336#endif337#define nearbyint boost_nearbyint338#ifdef nearbyintf339#undef nearbyintf340#endif341#define nearbyintf boost_nearbyintf342#ifdef nearbyintl343#undef nearbyintl344#endif345#define nearbyintl boost_nearbyintl346#endif347 348#ifdef nextafter349#undef nextafter350#endif351#define nextafter boost_nextafter352#ifdef nextafterf353#undef nextafterf354#endif355#define nextafterf boost_nextafterf356#ifdef nextafterl357#undef nextafterl358#endif359#define nextafterl boost_nextafterl360 361#ifdef nexttoward362#undef nexttoward363#endif364#define nexttoward boost_nexttoward365#ifdef nexttowardf366#undef nexttowardf367#endif368#define nexttowardf boost_nexttowardf369#ifdef nexttowardl370#undef nexttowardl371#endif372#define nexttowardl boost_nexttowardl373 374#if 0375#ifdef remainder376#undef remainder377#endif378#define remainder boost_remainder379#ifdef remainderf380#undef remainderf381#endif382#define remainderf boost_remainderf383#ifdef remainderl384#undef remainderl385#endif386#define remainderl boost_remainderl387 388#ifdef remquo389#undef remquo390#endif391#define remquo boost_remquo392#ifdef remquof393#undef remquof394#endif395#define remquof boost_remquof396#ifdef remquol397#undef remquol398#endif399#define remquol boost_remquol400 401#ifdef rint402#undef rint403#endif404#define rint boost_rint405#ifdef rintf406#undef rintf407#endif408#define rintf boost_rintf409#ifdef rintl410#undef rintl411#endif412#define rintl boost_rintl413#endif414 415#ifdef round416#undef round417#endif418#define round boost_round419#ifdef roundf420#undef roundf421#endif422#define roundf boost_roundf423#ifdef roundl424#undef roundl425#endif426#define roundl boost_roundl427 428#if 0429#ifdef scalbln430#undef scalbln431#endif432#define scalbln boost_scalbln433#ifdef scalblnf434#undef scalblnf435#endif436#define scalblnf boost_scalblnf437#ifdef scalblnl438#undef scalblnl439#endif440#define scalblnl boost_scalblnl441 442#ifdef scalbn443#undef scalbn444#endif445#define scalbn boost_scalbn446#ifdef scalbnf447#undef scalbnf448#endif449#define scalbnf boost_scalbnf450#ifdef scalbnl451#undef scalbnl452#endif453#define scalbnl boost_scalbnl454#endif455 456#ifdef tgamma457#undef tgamma458#endif459#define tgamma boost_tgamma460#ifdef tgammaf461#undef tgammaf462#endif463#define tgammaf boost_tgammaf464#ifdef tgammal465#undef tgammal466#endif467#define tgammal boost_tgammal468 469#ifdef trunc470#undef trunc471#endif472#define trunc boost_trunc473#ifdef truncf474#undef truncf475#endif476#define truncf boost_truncf477#ifdef truncl478#undef truncl479#endif480#define truncl boost_truncl481 482// [5.2.1.1] associated Laguerre polynomials:483#ifdef assoc_laguerre484#undef assoc_laguerre485#endif486#define assoc_laguerre boost_assoc_laguerre487#ifdef assoc_laguerref488#undef assoc_laguerref489#endif490#define assoc_laguerref boost_assoc_laguerref491#ifdef assoc_laguerrel492#undef assoc_laguerrel493#endif494#define assoc_laguerrel boost_assoc_laguerrel495 496// [5.2.1.2] associated Legendre functions:497#ifdef assoc_legendre498#undef assoc_legendre499#endif500#define assoc_legendre boost_assoc_legendre501#ifdef assoc_legendref502#undef assoc_legendref503#endif504#define assoc_legendref boost_assoc_legendref505#ifdef assoc_legendrel506#undef assoc_legendrel507#endif508#define assoc_legendrel boost_assoc_legendrel509 510// [5.2.1.3] beta function:511#ifdef beta512#undef beta513#endif514#define beta boost_beta515#ifdef betaf516#undef betaf517#endif518#define betaf boost_betaf519#ifdef betal520#undef betal521#endif522#define betal boost_betal523 524// [5.2.1.4] (complete) elliptic integral of the first kind:525#ifdef comp_ellint_1526#undef comp_ellint_1527#endif528#define comp_ellint_1 boost_comp_ellint_1529#ifdef comp_ellint_1f530#undef comp_ellint_1f531#endif532#define comp_ellint_1f boost_comp_ellint_1f533#ifdef comp_ellint_1l534#undef comp_ellint_1l535#endif536#define comp_ellint_1l boost_comp_ellint_1l537 538// [5.2.1.5] (complete) elliptic integral of the second kind:539#ifdef comp_ellint_2540#undef comp_ellint_2541#endif542#define comp_ellint_2 boost_comp_ellint_2543#ifdef comp_ellint_2f544#undef comp_ellint_2f545#endif546#define comp_ellint_2f boost_comp_ellint_2f547#ifdef comp_ellint_2l548#undef comp_ellint_2l549#endif550#define comp_ellint_2l boost_comp_ellint_2l551 552// [5.2.1.6] (complete) elliptic integral of the third kind:553#ifdef comp_ellint_3554#undef comp_ellint_3555#endif556#define comp_ellint_3 boost_comp_ellint_3557#ifdef comp_ellint_3f558#undef comp_ellint_3f559#endif560#define comp_ellint_3f boost_comp_ellint_3f561#ifdef comp_ellint_3l562#undef comp_ellint_3l563#endif564#define comp_ellint_3l boost_comp_ellint_3l565 566#if 0567// [5.2.1.7] confluent hypergeometric functions:568#ifdef conf_hyper569#undef conf_hyper570#endif571#define conf_hyper boost_conf_hyper572#ifdef conf_hyperf573#undef conf_hyperf574#endif575#define conf_hyperf boost_conf_hyperf576#ifdef conf_hyperl577#undef conf_hyperl578#endif579#define conf_hyperl boost_conf_hyperl580#endif581 582// [5.2.1.8] regular modified cylindrical Bessel functions:583#ifdef cyl_bessel_i584#undef cyl_bessel_i585#endif586#define cyl_bessel_i boost_cyl_bessel_i587#ifdef cyl_bessel_if588#undef cyl_bessel_if589#endif590#define cyl_bessel_if boost_cyl_bessel_if591#ifdef cyl_bessel_il592#undef cyl_bessel_il593#endif594#define cyl_bessel_il boost_cyl_bessel_il595 596// [5.2.1.9] cylindrical Bessel functions (of the first kind):597#ifdef cyl_bessel_j598#undef cyl_bessel_j599#endif600#define cyl_bessel_j boost_cyl_bessel_j601#ifdef cyl_bessel_jf602#undef cyl_bessel_jf603#endif604#define cyl_bessel_jf boost_cyl_bessel_jf605#ifdef cyl_bessel_jl606#undef cyl_bessel_jl607#endif608#define cyl_bessel_jl boost_cyl_bessel_jl609 610// [5.2.1.10] irregular modified cylindrical Bessel functions:611#ifdef cyl_bessel_k612#undef cyl_bessel_k613#endif614#define cyl_bessel_k boost_cyl_bessel_k615#ifdef cyl_bessel_kf616#undef cyl_bessel_kf617#endif618#define cyl_bessel_kf boost_cyl_bessel_kf619#ifdef cyl_bessel_kl620#undef cyl_bessel_kl621#endif622#define cyl_bessel_kl boost_cyl_bessel_kl623 624// [5.2.1.11] cylindrical Neumann functions BOOST_MATH_C99_THROW_SPEC;625// cylindrical Bessel functions (of the second kind):626#ifdef cyl_neumann627#undef cyl_neumann628#endif629#define cyl_neumann boost_cyl_neumann630#ifdef cyl_neumannf631#undef cyl_neumannf632#endif633#define cyl_neumannf boost_cyl_neumannf634#ifdef cyl_neumannl635#undef cyl_neumannl636#endif637#define cyl_neumannl boost_cyl_neumannl638 639// [5.2.1.12] (incomplete) elliptic integral of the first kind:640#ifdef ellint_1641#undef ellint_1642#endif643#define ellint_1 boost_ellint_1644#ifdef ellint_1f645#undef ellint_1f646#endif647#define ellint_1f boost_ellint_1f648#ifdef ellint_1l649#undef ellint_1l650#endif651#define ellint_1l boost_ellint_1l652 653// [5.2.1.13] (incomplete) elliptic integral of the second kind:654#ifdef ellint_2655#undef ellint_2656#endif657#define ellint_2 boost_ellint_2658#ifdef ellint_2f659#undef ellint_2f660#endif661#define ellint_2f boost_ellint_2f662#ifdef ellint_2l663#undef ellint_2l664#endif665#define ellint_2l boost_ellint_2l666 667// [5.2.1.14] (incomplete) elliptic integral of the third kind:668#ifdef ellint_3669#undef ellint_3670#endif671#define ellint_3 boost_ellint_3672#ifdef ellint_3f673#undef ellint_3f674#endif675#define ellint_3f boost_ellint_3f676#ifdef ellint_3l677#undef ellint_3l678#endif679#define ellint_3l boost_ellint_3l680 681// [5.2.1.15] exponential integral:682#ifdef expint683#undef expint684#endif685#define expint boost_expint686#ifdef expintf687#undef expintf688#endif689#define expintf boost_expintf690#ifdef expintl691#undef expintl692#endif693#define expintl boost_expintl694 695// [5.2.1.16] Hermite polynomials:696#ifdef hermite697#undef hermite698#endif699#define hermite boost_hermite700#ifdef hermitef701#undef hermitef702#endif703#define hermitef boost_hermitef704#ifdef hermitel705#undef hermitel706#endif707#define hermitel boost_hermitel708 709#if 0710// [5.2.1.17] hypergeometric functions:711#ifdef hyperg712#undef hyperg713#endif714#define hyperg boost_hyperg715#ifdef hypergf716#undef hypergf717#endif718#define hypergf boost_hypergf719#ifdef hypergl720#undef hypergl721#endif722#define hypergl boost_hypergl723#endif724 725// [5.2.1.18] Laguerre polynomials:726#ifdef laguerre727#undef laguerre728#endif729#define laguerre boost_laguerre730#ifdef laguerref731#undef laguerref732#endif733#define laguerref boost_laguerref734#ifdef laguerrel735#undef laguerrel736#endif737#define laguerrel boost_laguerrel738 739// [5.2.1.19] Legendre polynomials:740#ifdef legendre741#undef legendre742#endif743#define legendre boost_legendre744#ifdef legendref745#undef legendref746#endif747#define legendref boost_legendref748#ifdef legendrel749#undef legendrel750#endif751#define legendrel boost_legendrel752 753// [5.2.1.20] Riemann zeta function:754#ifdef riemann_zeta755#undef riemann_zeta756#endif757#define riemann_zeta boost_riemann_zeta758#ifdef riemann_zetaf759#undef riemann_zetaf760#endif761#define riemann_zetaf boost_riemann_zetaf762#ifdef riemann_zetal763#undef riemann_zetal764#endif765#define riemann_zetal boost_riemann_zetal766 767// [5.2.1.21] spherical Bessel functions (of the first kind):768#ifdef sph_bessel769#undef sph_bessel770#endif771#define sph_bessel boost_sph_bessel772#ifdef sph_besself773#undef sph_besself774#endif775#define sph_besself boost_sph_besself776#ifdef sph_bessell777#undef sph_bessell778#endif779#define sph_bessell boost_sph_bessell780 781// [5.2.1.22] spherical associated Legendre functions:782#ifdef sph_legendre783#undef sph_legendre784#endif785#define sph_legendre boost_sph_legendre786#ifdef sph_legendref787#undef sph_legendref788#endif789#define sph_legendref boost_sph_legendref790#ifdef sph_legendrel791#undef sph_legendrel792#endif793#define sph_legendrel boost_sph_legendrel794 795// [5.2.1.23] spherical Neumann functions BOOST_MATH_C99_THROW_SPEC;796// spherical Bessel functions (of the second kind):797#ifdef sph_neumann798#undef sph_neumann799#endif800#define sph_neumann boost_sph_neumann801#ifdef sph_neumannf802#undef sph_neumannf803#endif804#define sph_neumannf boost_sph_neumannf805#ifdef sph_neumannl806#undef sph_neumannl807#endif808#define sph_neumannl boost_sph_neumannl809 810#endif // BOOST_MATH_C_MACROS_IPP811