1// Copyright John Maddock 2008-11. 2// Use, modification and distribution are subject to the 3// Boost Software License, Version 1.0. 4// (See accompanying file LICENSE_1_0.txt 5// or copy at http://www.boost.org/LICENSE_1_0.txt) 6 7#ifndef BOOST_MATH_C_MACROS_IPP 8#define BOOST_MATH_C_MACROS_IPP 9 10// C99 Functions: 11#ifdef acosh 12#undef acosh 13#endif 14#define acosh boost_acosh 15#ifdef acoshf 16#undef acoshf 17#endif 18#define acoshf boost_acoshf 19#ifdef acoshl 20#undef acoshl 21#endif 22#define acoshl boost_acoshl 23 24#ifdef asinh 25#undef asinh 26#endif 27#define asinh boost_asinh 28#ifdef asinhf 29#undef asinhf 30#endif 31#define asinhf boost_asinhf 32#ifdef asinhl 33#undef asinhl 34#endif 35#define asinhl boost_asinhl 36 37#ifdef atanh 38#undef atanh 39#endif 40#define atanh boost_atanh 41#ifdef atanhf 42#undef atanhf 43#endif 44#define atanhf boost_atanhf 45#ifdef atanhl 46#undef atanhl 47#endif 48#define atanhl boost_atanhl 49 50#ifdef cbrt 51#undef cbrt 52#endif 53#define cbrt boost_cbrt 54#ifdef cbrtf 55#undef cbrtf 56#endif 57#define cbrtf boost_cbrtf 58#ifdef cbrtl 59#undef cbrtl 60#endif 61#define cbrtl boost_cbrtl 62 63#ifdef copysign 64#undef copysign 65#endif 66#define copysign boost_copysign 67#ifdef copysignf 68#undef copysignf 69#endif 70#define copysignf boost_copysignf 71#ifdef copysignl 72#undef copysignl 73#endif 74#define copysignl boost_copysignl 75 76#ifdef erf 77#undef erf 78#endif 79#define erf boost_erf 80#ifdef erff 81#undef erff 82#endif 83#define erff boost_erff 84#ifdef erfl 85#undef erfl 86#endif 87#define erfl boost_erfl 88 89#ifdef erfc 90#undef erfc 91#endif 92#define erfc boost_erfc 93#ifdef erfcf 94#undef erfcf 95#endif 96#define erfcf boost_erfcf 97#ifdef erfcl 98#undef erfcl 99#endif 100#define erfcl boost_erfcl 101 102#if 0 103#ifdef exp2 104#undef exp2 105#endif 106#define exp2 boost_exp2 107#ifdef exp2f 108#undef exp2f 109#endif 110#define exp2f boost_exp2f 111#ifdef exp2l 112#undef exp2l 113#endif 114#define exp2l boost_exp2l 115#endif 116 117#ifdef expm1 118#undef expm1 119#endif 120#define expm1 boost_expm1 121#ifdef expm1f 122#undef expm1f 123#endif 124#define expm1f boost_expm1f 125#ifdef expm1l 126#undef expm1l 127#endif 128#define expm1l boost_expm1l 129 130#if 0 131#ifdef fdim 132#undef fdim 133#endif 134#define fdim boost_fdim 135#ifdef fdimf 136#undef fdimf 137#endif 138#define fdimf boost_fdimf 139#ifdef fdiml 140#undef fdiml 141#endif 142#define fdiml boost_fdiml 143#ifdef acosh 144#undef acosh 145#endif 146#define fma boost_fma 147#ifdef fmaf 148#undef fmaf 149#endif 150#define fmaf boost_fmaf 151#ifdef fmal 152#undef fmal 153#endif 154#define fmal boost_fmal 155#endif 156 157#ifdef fmax 158#undef fmax 159#endif 160#define fmax boost_fmax 161#ifdef fmaxf 162#undef fmaxf 163#endif 164#define fmaxf boost_fmaxf 165#ifdef fmaxl 166#undef fmaxl 167#endif 168#define fmaxl boost_fmaxl 169 170#ifdef fmin 171#undef fmin 172#endif 173#define fmin boost_fmin 174#ifdef fminf 175#undef fminf 176#endif 177#define fminf boost_fminf 178#ifdef fminl 179#undef fminl 180#endif 181#define fminl boost_fminl 182 183#ifdef hypot 184#undef hypot 185#endif 186#define hypot boost_hypot 187#ifdef hypotf 188#undef hypotf 189#endif 190#define hypotf boost_hypotf 191#ifdef hypotl 192#undef hypotl 193#endif 194#define hypotl boost_hypotl 195 196#if 0 197#ifdef ilogb 198#undef ilogb 199#endif 200#define ilogb boost_ilogb 201#ifdef ilogbf 202#undef ilogbf 203#endif 204#define ilogbf boost_ilogbf 205#ifdef ilogbl 206#undef ilogbl 207#endif 208#define ilogbl boost_ilogbl 209#endif 210 211#ifdef lgamma 212#undef lgamma 213#endif 214#define lgamma boost_lgamma 215#ifdef lgammaf 216#undef lgammaf 217#endif 218#define lgammaf boost_lgammaf 219#ifdef lgammal 220#undef lgammal 221#endif 222#define lgammal boost_lgammal 223 224#ifdef BOOST_HAS_LONG_LONG 225#if 0 226#ifdef llrint 227#undef llrint 228#endif 229#define llrint boost_llrint 230#ifdef llrintf 231#undef llrintf 232#endif 233#define llrintf boost_llrintf 234#ifdef llrintl 235#undef llrintl 236#endif 237#define llrintl boost_llrintl 238#endif 239#ifdef llround 240#undef llround 241#endif 242#define llround boost_llround 243#ifdef llroundf 244#undef llroundf 245#endif 246#define llroundf boost_llroundf 247#ifdef llroundl 248#undef llroundl 249#endif 250#define llroundl boost_llroundl 251#endif 252 253#ifdef log1p 254#undef log1p 255#endif 256#define log1p boost_log1p 257#ifdef log1pf 258#undef log1pf 259#endif 260#define log1pf boost_log1pf 261#ifdef log1pl 262#undef log1pl 263#endif 264#define log1pl boost_log1pl 265 266#if 0 267#ifdef log2 268#undef log2 269#endif 270#define log2 boost_log2 271#ifdef log2f 272#undef log2f 273#endif 274#define log2f boost_log2f 275#ifdef log2l 276#undef log2l 277#endif 278#define log2l boost_log2l 279 280#ifdef logb 281#undef logb 282#endif 283#define logb boost_logb 284#ifdef logbf 285#undef logbf 286#endif 287#define logbf boost_logbf 288#ifdef logbl 289#undef logbl 290#endif 291#define logbl boost_logbl 292 293#ifdef lrint 294#undef lrint 295#endif 296#define lrint boost_lrint 297#ifdef lrintf 298#undef lrintf 299#endif 300#define lrintf boost_lrintf 301#ifdef lrintl 302#undef lrintl 303#endif 304#define lrintl boost_lrintl 305#endif 306 307#ifdef lround 308#undef lround 309#endif 310#define lround boost_lround 311#ifdef lroundf 312#undef lroundf 313#endif 314#define lroundf boost_lroundf 315#ifdef lroundl 316#undef lroundl 317#endif 318#define lroundl boost_lroundl 319 320#if 0 321#ifdef nan 322#undef nan 323#endif 324#define nan boost_nan 325#ifdef nanf 326#undef nanf 327#endif 328#define nanf boost_nanf 329#ifdef nanl 330#undef nanl 331#endif 332#define nanl boost_nanl 333 334#ifdef nearbyint 335#undef nearbyint 336#endif 337#define nearbyint boost_nearbyint 338#ifdef nearbyintf 339#undef nearbyintf 340#endif 341#define nearbyintf boost_nearbyintf 342#ifdef nearbyintl 343#undef nearbyintl 344#endif 345#define nearbyintl boost_nearbyintl 346#endif 347 348#ifdef nextafter 349#undef nextafter 350#endif 351#define nextafter boost_nextafter 352#ifdef nextafterf 353#undef nextafterf 354#endif 355#define nextafterf boost_nextafterf 356#ifdef nextafterl 357#undef nextafterl 358#endif 359#define nextafterl boost_nextafterl 360 361#ifdef nexttoward 362#undef nexttoward 363#endif 364#define nexttoward boost_nexttoward 365#ifdef nexttowardf 366#undef nexttowardf 367#endif 368#define nexttowardf boost_nexttowardf 369#ifdef nexttowardl 370#undef nexttowardl 371#endif 372#define nexttowardl boost_nexttowardl 373 374#if 0 375#ifdef remainder 376#undef remainder 377#endif 378#define remainder boost_remainder 379#ifdef remainderf 380#undef remainderf 381#endif 382#define remainderf boost_remainderf 383#ifdef remainderl 384#undef remainderl 385#endif 386#define remainderl boost_remainderl 387 388#ifdef remquo 389#undef remquo 390#endif 391#define remquo boost_remquo 392#ifdef remquof 393#undef remquof 394#endif 395#define remquof boost_remquof 396#ifdef remquol 397#undef remquol 398#endif 399#define remquol boost_remquol 400 401#ifdef rint 402#undef rint 403#endif 404#define rint boost_rint 405#ifdef rintf 406#undef rintf 407#endif 408#define rintf boost_rintf 409#ifdef rintl 410#undef rintl 411#endif 412#define rintl boost_rintl 413#endif 414 415#ifdef round 416#undef round 417#endif 418#define round boost_round 419#ifdef roundf 420#undef roundf 421#endif 422#define roundf boost_roundf 423#ifdef roundl 424#undef roundl 425#endif 426#define roundl boost_roundl 427 428#if 0 429#ifdef scalbln 430#undef scalbln 431#endif 432#define scalbln boost_scalbln 433#ifdef scalblnf 434#undef scalblnf 435#endif 436#define scalblnf boost_scalblnf 437#ifdef scalblnl 438#undef scalblnl 439#endif 440#define scalblnl boost_scalblnl 441 442#ifdef scalbn 443#undef scalbn 444#endif 445#define scalbn boost_scalbn 446#ifdef scalbnf 447#undef scalbnf 448#endif 449#define scalbnf boost_scalbnf 450#ifdef scalbnl 451#undef scalbnl 452#endif 453#define scalbnl boost_scalbnl 454#endif 455 456#ifdef tgamma 457#undef tgamma 458#endif 459#define tgamma boost_tgamma 460#ifdef tgammaf 461#undef tgammaf 462#endif 463#define tgammaf boost_tgammaf 464#ifdef tgammal 465#undef tgammal 466#endif 467#define tgammal boost_tgammal 468 469#ifdef trunc 470#undef trunc 471#endif 472#define trunc boost_trunc 473#ifdef truncf 474#undef truncf 475#endif 476#define truncf boost_truncf 477#ifdef truncl 478#undef truncl 479#endif 480#define truncl boost_truncl 481 482// [5.2.1.1] associated Laguerre polynomials: 483#ifdef assoc_laguerre 484#undef assoc_laguerre 485#endif 486#define assoc_laguerre boost_assoc_laguerre 487#ifdef assoc_laguerref 488#undef assoc_laguerref 489#endif 490#define assoc_laguerref boost_assoc_laguerref 491#ifdef assoc_laguerrel 492#undef assoc_laguerrel 493#endif 494#define assoc_laguerrel boost_assoc_laguerrel 495 496// [5.2.1.2] associated Legendre functions: 497#ifdef assoc_legendre 498#undef assoc_legendre 499#endif 500#define assoc_legendre boost_assoc_legendre 501#ifdef assoc_legendref 502#undef assoc_legendref 503#endif 504#define assoc_legendref boost_assoc_legendref 505#ifdef assoc_legendrel 506#undef assoc_legendrel 507#endif 508#define assoc_legendrel boost_assoc_legendrel 509 510// [5.2.1.3] beta function: 511#ifdef beta 512#undef beta 513#endif 514#define beta boost_beta 515#ifdef betaf 516#undef betaf 517#endif 518#define betaf boost_betaf 519#ifdef betal 520#undef betal 521#endif 522#define betal boost_betal 523 524// [5.2.1.4] (complete) elliptic integral of the first kind: 525#ifdef comp_ellint_1 526#undef comp_ellint_1 527#endif 528#define comp_ellint_1 boost_comp_ellint_1 529#ifdef comp_ellint_1f 530#undef comp_ellint_1f 531#endif 532#define comp_ellint_1f boost_comp_ellint_1f 533#ifdef comp_ellint_1l 534#undef comp_ellint_1l 535#endif 536#define comp_ellint_1l boost_comp_ellint_1l 537 538// [5.2.1.5] (complete) elliptic integral of the second kind: 539#ifdef comp_ellint_2 540#undef comp_ellint_2 541#endif 542#define comp_ellint_2 boost_comp_ellint_2 543#ifdef comp_ellint_2f 544#undef comp_ellint_2f 545#endif 546#define comp_ellint_2f boost_comp_ellint_2f 547#ifdef comp_ellint_2l 548#undef comp_ellint_2l 549#endif 550#define comp_ellint_2l boost_comp_ellint_2l 551 552// [5.2.1.6] (complete) elliptic integral of the third kind: 553#ifdef comp_ellint_3 554#undef comp_ellint_3 555#endif 556#define comp_ellint_3 boost_comp_ellint_3 557#ifdef comp_ellint_3f 558#undef comp_ellint_3f 559#endif 560#define comp_ellint_3f boost_comp_ellint_3f 561#ifdef comp_ellint_3l 562#undef comp_ellint_3l 563#endif 564#define comp_ellint_3l boost_comp_ellint_3l 565 566#if 0 567// [5.2.1.7] confluent hypergeometric functions: 568#ifdef conf_hyper 569#undef conf_hyper 570#endif 571#define conf_hyper boost_conf_hyper 572#ifdef conf_hyperf 573#undef conf_hyperf 574#endif 575#define conf_hyperf boost_conf_hyperf 576#ifdef conf_hyperl 577#undef conf_hyperl 578#endif 579#define conf_hyperl boost_conf_hyperl 580#endif 581 582// [5.2.1.8] regular modified cylindrical Bessel functions: 583#ifdef cyl_bessel_i 584#undef cyl_bessel_i 585#endif 586#define cyl_bessel_i boost_cyl_bessel_i 587#ifdef cyl_bessel_if 588#undef cyl_bessel_if 589#endif 590#define cyl_bessel_if boost_cyl_bessel_if 591#ifdef cyl_bessel_il 592#undef cyl_bessel_il 593#endif 594#define cyl_bessel_il boost_cyl_bessel_il 595 596// [5.2.1.9] cylindrical Bessel functions (of the first kind): 597#ifdef cyl_bessel_j 598#undef cyl_bessel_j 599#endif 600#define cyl_bessel_j boost_cyl_bessel_j 601#ifdef cyl_bessel_jf 602#undef cyl_bessel_jf 603#endif 604#define cyl_bessel_jf boost_cyl_bessel_jf 605#ifdef cyl_bessel_jl 606#undef cyl_bessel_jl 607#endif 608#define cyl_bessel_jl boost_cyl_bessel_jl 609 610// [5.2.1.10] irregular modified cylindrical Bessel functions: 611#ifdef cyl_bessel_k 612#undef cyl_bessel_k 613#endif 614#define cyl_bessel_k boost_cyl_bessel_k 615#ifdef cyl_bessel_kf 616#undef cyl_bessel_kf 617#endif 618#define cyl_bessel_kf boost_cyl_bessel_kf 619#ifdef cyl_bessel_kl 620#undef cyl_bessel_kl 621#endif 622#define cyl_bessel_kl boost_cyl_bessel_kl 623 624// [5.2.1.11] cylindrical Neumann functions BOOST_MATH_C99_THROW_SPEC; 625// cylindrical Bessel functions (of the second kind): 626#ifdef cyl_neumann 627#undef cyl_neumann 628#endif 629#define cyl_neumann boost_cyl_neumann 630#ifdef cyl_neumannf 631#undef cyl_neumannf 632#endif 633#define cyl_neumannf boost_cyl_neumannf 634#ifdef cyl_neumannl 635#undef cyl_neumannl 636#endif 637#define cyl_neumannl boost_cyl_neumannl 638 639// [5.2.1.12] (incomplete) elliptic integral of the first kind: 640#ifdef ellint_1 641#undef ellint_1 642#endif 643#define ellint_1 boost_ellint_1 644#ifdef ellint_1f 645#undef ellint_1f 646#endif 647#define ellint_1f boost_ellint_1f 648#ifdef ellint_1l 649#undef ellint_1l 650#endif 651#define ellint_1l boost_ellint_1l 652 653// [5.2.1.13] (incomplete) elliptic integral of the second kind: 654#ifdef ellint_2 655#undef ellint_2 656#endif 657#define ellint_2 boost_ellint_2 658#ifdef ellint_2f 659#undef ellint_2f 660#endif 661#define ellint_2f boost_ellint_2f 662#ifdef ellint_2l 663#undef ellint_2l 664#endif 665#define ellint_2l boost_ellint_2l 666 667// [5.2.1.14] (incomplete) elliptic integral of the third kind: 668#ifdef ellint_3 669#undef ellint_3 670#endif 671#define ellint_3 boost_ellint_3 672#ifdef ellint_3f 673#undef ellint_3f 674#endif 675#define ellint_3f boost_ellint_3f 676#ifdef ellint_3l 677#undef ellint_3l 678#endif 679#define ellint_3l boost_ellint_3l 680 681// [5.2.1.15] exponential integral: 682#ifdef expint 683#undef expint 684#endif 685#define expint boost_expint 686#ifdef expintf 687#undef expintf 688#endif 689#define expintf boost_expintf 690#ifdef expintl 691#undef expintl 692#endif 693#define expintl boost_expintl 694 695// [5.2.1.16] Hermite polynomials: 696#ifdef hermite 697#undef hermite 698#endif 699#define hermite boost_hermite 700#ifdef hermitef 701#undef hermitef 702#endif 703#define hermitef boost_hermitef 704#ifdef hermitel 705#undef hermitel 706#endif 707#define hermitel boost_hermitel 708 709#if 0 710// [5.2.1.17] hypergeometric functions: 711#ifdef hyperg 712#undef hyperg 713#endif 714#define hyperg boost_hyperg 715#ifdef hypergf 716#undef hypergf 717#endif 718#define hypergf boost_hypergf 719#ifdef hypergl 720#undef hypergl 721#endif 722#define hypergl boost_hypergl 723#endif 724 725// [5.2.1.18] Laguerre polynomials: 726#ifdef laguerre 727#undef laguerre 728#endif 729#define laguerre boost_laguerre 730#ifdef laguerref 731#undef laguerref 732#endif 733#define laguerref boost_laguerref 734#ifdef laguerrel 735#undef laguerrel 736#endif 737#define laguerrel boost_laguerrel 738 739// [5.2.1.19] Legendre polynomials: 740#ifdef legendre 741#undef legendre 742#endif 743#define legendre boost_legendre 744#ifdef legendref 745#undef legendref 746#endif 747#define legendref boost_legendref 748#ifdef legendrel 749#undef legendrel 750#endif 751#define legendrel boost_legendrel 752 753// [5.2.1.20] Riemann zeta function: 754#ifdef riemann_zeta 755#undef riemann_zeta 756#endif 757#define riemann_zeta boost_riemann_zeta 758#ifdef riemann_zetaf 759#undef riemann_zetaf 760#endif 761#define riemann_zetaf boost_riemann_zetaf 762#ifdef riemann_zetal 763#undef riemann_zetal 764#endif 765#define riemann_zetal boost_riemann_zetal 766 767// [5.2.1.21] spherical Bessel functions (of the first kind): 768#ifdef sph_bessel 769#undef sph_bessel 770#endif 771#define sph_bessel boost_sph_bessel 772#ifdef sph_besself 773#undef sph_besself 774#endif 775#define sph_besself boost_sph_besself 776#ifdef sph_bessell 777#undef sph_bessell 778#endif 779#define sph_bessell boost_sph_bessell 780 781// [5.2.1.22] spherical associated Legendre functions: 782#ifdef sph_legendre 783#undef sph_legendre 784#endif 785#define sph_legendre boost_sph_legendre 786#ifdef sph_legendref 787#undef sph_legendref 788#endif 789#define sph_legendref boost_sph_legendref 790#ifdef sph_legendrel 791#undef sph_legendrel 792#endif 793#define sph_legendrel boost_sph_legendrel 794 795// [5.2.1.23] spherical Neumann functions BOOST_MATH_C99_THROW_SPEC; 796// spherical Bessel functions (of the second kind): 797#ifdef sph_neumann 798#undef sph_neumann 799#endif 800#define sph_neumann boost_sph_neumann 801#ifdef sph_neumannf 802#undef sph_neumannf 803#endif 804#define sph_neumannf boost_sph_neumannf 805#ifdef sph_neumannl 806#undef sph_neumannl 807#endif 808#define sph_neumannl boost_sph_neumannl 809 810#endif // BOOST_MATH_C_MACROS_IPP 811