31#ifndef FENNEC_MATH_EXT_CONSTANTS_H
32#define FENNEC_MATH_EXT_CONSTANTS_H
534#if FENNEC_COMPILER_MSVC
536#pragma warning(disable:4305)
549template<
typename genType>
constexpr genType
zero() {
return genType(0); }
550template<
typename genType>
constexpr genType
one() {
return genType(1); }
551template<
typename genType>
constexpr genType
one_half() {
return genType(0.5); }
552template<
typename genType>
constexpr genType
three_over_two() {
return genType(1.5); }
558template<
typename genType>
constexpr genType
one_third() {
return 0.33333333333333333333333333333333333333333333333333; }
559template<
typename genType>
constexpr genType
two_thirds() {
return 0.66666666666666666666666666666666666666666666666666; }
560template<
typename genType>
constexpr genType
sqrt_two() {
return 1.41421356237309504880168872420969807856967187537694; }
561template<
typename genType>
constexpr genType
sqrt_three() {
return 1.73205080756887729352744634150587236694280525381038; }
562template<
typename genType>
constexpr genType
sqrt_five() {
return 2.23606797749978969640917366873127623544061835961152; }
563template<
typename genType>
constexpr genType
sqrt_seven() {
return 2.64575131106459059050161575363926042571025918308245; }
564template<
typename genType>
constexpr genType
sqrt_ten() {
return 3.16227766016837933199889354443271853371955513932521; }
565template<
typename genType>
constexpr genType
one_over_sqrt_two() {
return 0.70710678118654752440084436210484903928483593768847; }
566template<
typename genType>
constexpr genType
one_over_sqrt_three() {
return 0.57735026918962576450914878050195745564760175127012; }
567template<
typename genType>
constexpr genType
one_over_sqrt_five() {
return 0.44721359549995793928183473374625524708812367192230; }
568template<
typename genType>
constexpr genType
cbrt_two() {
return 1.25992104989487316476721060727822835057025146470150; }
569template<
typename genType>
constexpr genType
qdrt_two() {
return 1.18920711500272106671749997056047591529297209246381; }
570template<
typename genType>
constexpr genType
two_raised_sqrt_two() {
return 2.66514414269022518865029724987313984827421131371465; }
577template<
typename genType>
constexpr genType
pi() {
return 3.14159265358979323846264338327950288419716939937510; }
578template<
typename genType>
constexpr genType
tau() {
return 6.28318530717958647692528676655900576839433879875021; }
581template<
typename genType>
constexpr genType
two_pi() {
return 6.28318530717958647692528676655900576839433879875021; }
582template<
typename genType>
constexpr genType
three_pi() {
return 9.42477796076937971538793014983850865259150819812531; }
583template<
typename genType>
constexpr genType
four_pi() {
return 12.56637061435917295385057353311801153678867759750042; }
587template<
typename genType>
constexpr genType
half_pi() {
return 1.57079632679489661923132169163975144209858469968755; }
588template<
typename genType>
constexpr genType
three_halves_pi() {
return 4.71238898038468985769396507491925432629575409906265; }
590template<
typename genType>
constexpr genType
third_pi() {
return 1.04719755119659774615421446109316762806572313312503; }
591template<
typename genType>
constexpr genType
two_thirds_pi() {
return 2.09439510239319549230842892218633525613144626625007; }
592template<
typename genType>
constexpr genType
four_thirds_pi() {
return 4.18879020478639098461685784437267051226289253250014; }
593template<
typename genType>
constexpr genType
five_thirds_pi() {
return 5.23598775598298873077107230546583814032861566562517; }
595template<
typename genType>
constexpr genType
quarter_pi() {
return 0.78539816339744830961566084581987572104929234984377; }
596template<
typename genType>
constexpr genType
three_quarters_pi() {
return 2.35619449019234492884698253745962716314787704953132; }
597template<
typename genType>
constexpr genType
five_quarters_pi() {
return 3.92699081698724154807830422909937860524646174921888; }
598template<
typename genType>
constexpr genType
seven_quarters_pi() {
return 5.49778714378213816730962592073913004734504644890643; }
600template<
typename genType>
constexpr genType
fifth_pi() {
return 0.62831853071795864769252867665590057683943387987502; }
601template<
typename genType>
constexpr genType
two_fifths_pi() {
return 1.25663706143591729538505735331180115367886775975004; }
602template<
typename genType>
constexpr genType
three_fifths_pi() {
return 1.88495559215387594307758602996770173051830163962506; }
603template<
typename genType>
constexpr genType
four_fifths_pi() {
return 2.51327412287183459077011470662360230735773551950008; }
604template<
typename genType>
constexpr genType
six_fifths_pi() {
return 3.76991118430775188615517205993540346103660327925012; }
605template<
typename genType>
constexpr genType
seven_fifths_pi() {
return 4.39822971502571053384770073659130403787603715912514; }
606template<
typename genType>
constexpr genType
eight_fifths_pi() {
return 5.02654824574366918154022941324720461471547103900016; }
607template<
typename genType>
constexpr genType
nine_fifths_pi() {
return 5.65486677646162782923275808990310519155490491887519; }
609template<
typename genType>
constexpr genType
sixth_pi() {
return 0.52359877559829887307710723054658381403286156656251; }
610template<
typename genType>
constexpr genType
five_sixths_pi() {
return 2.61799387799149436538553615273291907016430783281258; }
611template<
typename genType>
constexpr genType
seven_sixths_pi() {
return 3.66519142918809211153975061382608669823003096593762; }
612template<
typename genType>
constexpr genType
eleven_sixths_pi() {
return 5.75958653158128760384817953601242195436147723218769; }
618template<
typename genType>
constexpr genType
one_over_pi() {
return 0.31830988618379067153776752674502872406891929148091; }
619template<
typename genType>
constexpr genType
two_over_pi() {
return 0.63661977236758134307553505349005744813783858296182; }
622template<
typename genType>
constexpr genType
pi_sq() {
return 9.86960440108935861883449099987615113531369940724079; }
623template<
typename genType>
constexpr genType
pi_cb() {
return 31.00627668029982017547631506710139520222528856588510; }
624template<
typename genType>
constexpr genType
sqrt_pi() {
return 1.77245385090551602729816748334114518279754945612238; }
625template<
typename genType>
constexpr genType
one_over_sqrt_pi() {
return 0.56418958354775628694807945156077258584405062932899; }
626template<
typename genType>
constexpr genType
sqrt_two_pi() {
return 1.77245385090551602729816748334114518279754945612238; }
627template<
typename genType>
constexpr genType
one_over_sqrt_two_pi() {
return 0.39894228040143267793994605993438186847585863116493; }
628template<
typename genType>
constexpr genType
cbrt_pi() {
return 1.46459188756152326302014252726379039173859685562793; }
635template<
typename genType>
constexpr genType
e() {
return 2.71828182845904523536028747135266249775724709369995; }
636template<
typename genType>
constexpr genType
half_e() {
return 1.35914091422952261768014373567633124887862354684997; }
637template<
typename genType>
constexpr genType
two_e() {
return 5.43656365691809047072057494270532499551449418739991; }
638template<
typename genType>
constexpr genType
one_over_e() {
return 0.36787944117144232159552377016146086744581113103176; }
641template<
typename genType>
constexpr genType
e_sq() {
return 7.38905609893065022723042746057500781318031557055184; }
642template<
typename genType>
constexpr genType
e_cb() {
return 20.08553692318766774092852965458171789698790783855415; }
643template<
typename genType>
constexpr genType
sqrt_e() {
return 1.64872127070012814684865078781416357165377610071014; }
644template<
typename genType>
constexpr genType
one_over_sqrt_e() {
return 0.60653065971263342360379953499118045344191813548718; }
645template<
typename genType>
constexpr genType
e_raised_two() {
return 7.38905609893065022723042746057500781318031557055184; }
646template<
typename genType>
constexpr genType
e_raised_e() {
return 15.15426224147926418976043027262991190552854853685613; }
647template<
typename genType>
constexpr genType
e_raised_neg_e() {
return 0.065988035845312537076790187596846424938577048252796; }
650template<
typename genType>
constexpr genType
e_raised_pi() {
return 23.14069263277926900572908636794854738026610624260021; }
651template<
typename genType>
constexpr genType
e_raised_neg_pi() {
return 0.04321391826377224977441773717172801127572810981063; }
652template<
typename genType>
constexpr genType
e_raised_half_pi() {
return 4.81047738096535165547303566670383312639017087466453; }
653template<
typename genType>
constexpr genType
e_raised_neg_half_pi() {
return 0.20787957635076190854695561983497877003387784163176; }
656template<
typename genType>
constexpr genType
e_raised_gamma() {
return 1.78107241799019798523650410310717954916964521430343; }
657template<
typename genType>
constexpr genType
e_raised_neg_gamma() {
return 0.56145948356688516982414321479088078676571038692515; }
663template<
typename genType>
constexpr genType G() {
return 0.91596559417721901505460351493238411077414937428167; }
664template<
typename genType>
constexpr genType
one_over_G() {
return 1.09174406370390610145415947333389232498605012140824; }
665template<
typename genType>
constexpr genType
G_over_pi() {
return 0.29156090403081878013838445646839491886406615398583; }
666template<
typename genType>
constexpr genType
pi_over_G() {
return 3.42981513013245864263455323784799901211670795530093; }
672template<
typename genType>
constexpr genType
y() {
return 0.57721566490153286060651209008240243104215933593992; }
673template<
typename genType>
constexpr genType
one_over_y() {
return 1.73245471460063347358302531586082968115577655226680; }
679template<
typename genType>
constexpr genType
log_two() {
return 0.69314718055994530941723212145817656807550013436025; }
680template<
typename genType>
constexpr genType
log_three() {
return 1.09861228866810969139524523692252570464749055782274; }
681template<
typename genType>
constexpr genType
log_five() {
return 1.60943791243410037460075933322618763952560135426851; }
682template<
typename genType>
constexpr genType
log_seven() {
return 1.94591014905531330510535274344317972963708472958186; }
683template<
typename genType>
constexpr genType
log_ten() {
return 2.30258509299404568401799145468436420760110148862877; }
684template<
typename genType>
constexpr genType
one_over_log_ten() {
return 0.43429448190325182765112891891660508229439700580366; }
685template<
typename genType>
constexpr genType
log_two_over_log_three() {
return 0.63092975357145743709952711434276085429958564013188; }
686template<
typename genType>
constexpr genType
log_log_two() {
return -0.36651292058166432701243915823266946945426344783711; }
687template<
typename genType>
constexpr genType
log_pi() {
return 1.14472988584940017414342735135305871164729481291531; }
688template<
typename genType>
constexpr genType
log_sqrt_two() {
return 0.91893853320467274178032973640561763986139747363778; }
689template<
typename genType>
constexpr genType
log_gamma() {
return -0.54953931298164482233766176880290778833069898126306; }
690template<
typename genType>
constexpr genType
log_phi() {
return 0.48121182505960344749775891342436842313518433438566; }
constexpr genType one_over_pi()
Definition constants.h:618
constexpr genType pi_sq()
Definition constants.h:622
constexpr genType one_over_y()
Definition constants.h:673
constexpr genType log_two_over_log_three()
Definition constants.h:685
constexpr genType three_halves_pi()
Definition constants.h:588
constexpr genType pi()
Definition constants.h:577
constexpr genType nine_fifths_pi()
Definition constants.h:607
constexpr genType five_quarters_pi()
Definition constants.h:597
constexpr genType log_sqrt_two()
Definition constants.h:688
constexpr genType y()
Definition constants.h:672
constexpr genType pi_over_G()
Definition constants.h:666
constexpr genType half_e()
Definition constants.h:636
constexpr genType three_over_two()
Definition constants.h:552
constexpr genType log_ten()
Definition constants.h:683
constexpr genType log_five()
Definition constants.h:681
constexpr genType one_over_sqrt_five()
Definition constants.h:567
constexpr genType two_e()
Definition constants.h:637
constexpr genType e_sq()
Definition constants.h:641
constexpr genType log_three()
Definition constants.h:680
constexpr genType one_over_sqrt_two()
Definition constants.h:565
constexpr genType log_two()
Definition constants.h:679
constexpr genType sqrt_ten()
Definition constants.h:564
constexpr genType three_fifths_pi()
Definition constants.h:602
constexpr genType four_pi()
Definition constants.h:583
constexpr genType e_raised_pi()
Definition constants.h:650
constexpr genType one_over_G()
Definition constants.h:664
constexpr genType sqrt_two_pi()
Definition constants.h:626
constexpr genType cbrt_pi()
Definition constants.h:628
constexpr genType sqrt_e()
Definition constants.h:643
constexpr genType one()
Definition constants.h:550
constexpr genType third_pi()
Definition constants.h:590
constexpr genType e_raised_neg_half_pi()
Definition constants.h:653
constexpr genType pi_cb()
Definition constants.h:623
constexpr genType G_over_pi()
Definition constants.h:665
constexpr genType one_over_sqrt_e()
Definition constants.h:644
constexpr genType two_thirds_pi()
Definition constants.h:591
constexpr genType log_phi()
Definition constants.h:690
constexpr genType log_log_two()
Definition constants.h:686
constexpr genType five_sixths_pi()
Definition constants.h:610
constexpr genType tau()
Definition constants.h:578
constexpr genType sqrt_two()
Definition constants.h:560
constexpr genType log_pi()
Definition constants.h:687
constexpr genType sixth_pi()
Definition constants.h:609
constexpr genType three_quarters_pi()
Definition constants.h:596
constexpr genType fifth_pi()
Definition constants.h:600
constexpr genType one_over_sqrt_three()
Definition constants.h:566
constexpr genType five_thirds_pi()
Definition constants.h:593
constexpr genType e_cb()
Definition constants.h:642
constexpr genType sqrt_pi()
Definition constants.h:624
constexpr genType e_raised_e()
Definition constants.h:646
constexpr genType e_raised_neg_e()
Definition constants.h:647
constexpr genType four_thirds_pi()
Definition constants.h:592
constexpr genType eight_fifths_pi()
Definition constants.h:606
constexpr genType e_raised_half_pi()
Definition constants.h:652
constexpr genType log_gamma()
Definition constants.h:689
constexpr genType e_raised_neg_gamma()
Definition constants.h:657
constexpr genType qdrt_two()
Definition constants.h:569
constexpr genType seven_sixths_pi()
Definition constants.h:611
constexpr genType two_over_pi()
Definition constants.h:619
constexpr genType zero()
Definition constants.h:549
constexpr genType e_raised_neg_pi()
Definition constants.h:651
constexpr genType two_fifths_pi()
Definition constants.h:601
constexpr genType e_raised_gamma()
Definition constants.h:656
constexpr genType one_over_sqrt_two_pi()
Definition constants.h:627
constexpr genType six_fifths_pi()
Definition constants.h:604
constexpr genType cbrt_two()
Definition constants.h:568
constexpr genType sqrt_seven()
Definition constants.h:563
constexpr genType eleven_sixths_pi()
Definition constants.h:612
constexpr genType sqrt_five()
Definition constants.h:562
constexpr genType sqrt_three()
Definition constants.h:561
constexpr genType seven_fifths_pi()
Definition constants.h:605
constexpr genType log_seven()
Definition constants.h:682
constexpr genType quarter_pi()
Definition constants.h:595
constexpr genType e_raised_two()
Definition constants.h:645
constexpr genType seven_quarters_pi()
Definition constants.h:598
constexpr genType one_half()
Definition constants.h:551
constexpr genType e()
Definition constants.h:635
constexpr genType one_over_sqrt_pi()
Definition constants.h:625
constexpr genType two_thirds()
Definition constants.h:559
constexpr genType four_fifths_pi()
Definition constants.h:603
constexpr genType three_pi()
Definition constants.h:582
constexpr genType two_pi()
Definition constants.h:581
constexpr genType two_raised_sqrt_two()
Definition constants.h:570
constexpr genType one_over_log_ten()
Definition constants.h:684
constexpr genType one_over_e()
Definition constants.h:638
constexpr genType one_third()
Definition constants.h:558
constexpr genType half_pi()
Definition constants.h:587