@@ -78,6 +78,7 @@ namespace chaiscript {
78
78
return m;
79
79
}
80
80
81
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
81
82
template <typename Ret, typename Param>
82
83
ModulePtr acosh (ModulePtr m = std::make_shared<Module>())
83
84
{
@@ -98,6 +99,7 @@ namespace chaiscript {
98
99
m->add (chaiscript::fun ([](Param p){ return std::atanh (p); }), " atanh" );
99
100
return m;
100
101
}
102
+ #endif
101
103
102
104
// EXPONENTIAL AND LOGARITHMIC FUNCTIONS
103
105
template <typename Ret, typename Param>
@@ -141,6 +143,8 @@ namespace chaiscript {
141
143
m->add (chaiscript::fun ([](Param1 p1, Param2 p2){ return std::modf (p1, p2); }), " modf" );
142
144
return m;
143
145
}
146
+
147
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
144
148
template <typename Ret, typename Param>
145
149
ModulePtr exp2 (ModulePtr m = std::make_shared<Module>())
146
150
{
@@ -196,6 +200,7 @@ namespace chaiscript {
196
200
m->add (chaiscript::fun ([](Param1 p1, Param2 p2){ return std::scalbln (p1, p2); }), " scalbln" );
197
201
return m;
198
202
}
203
+ #endif
199
204
200
205
// POWER FUNCTIONS
201
206
template <typename Ret, typename Param1, typename Param2>
@@ -212,6 +217,7 @@ namespace chaiscript {
212
217
return m;
213
218
}
214
219
220
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
215
221
template <typename Ret, typename Param>
216
222
ModulePtr cbrt (ModulePtr m = std::make_shared<Module>())
217
223
{
@@ -254,6 +260,7 @@ namespace chaiscript {
254
260
m->add (chaiscript::fun ([](Param p){ return std::lgamma (p); }), " lgamma" );
255
261
return m;
256
262
}
263
+ #endif
257
264
258
265
// ROUNDING AND REMAINDER FUNCTIONS
259
266
template <typename Ret, typename Param>
@@ -277,6 +284,7 @@ namespace chaiscript {
277
284
return m;
278
285
}
279
286
287
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
280
288
template <typename Ret, typename Param>
281
289
ModulePtr trunc (ModulePtr m = std::make_shared<Module>())
282
290
{
@@ -407,6 +415,7 @@ namespace chaiscript {
407
415
m->add (chaiscript::fun ([](Param p){ return std::fabs (p); }), " fabs" );
408
416
return m;
409
417
}
418
+ #endif
410
419
411
420
template <typename Ret, typename Param>
412
421
ModulePtr abs (ModulePtr m = std::make_shared<Module>())
@@ -415,6 +424,7 @@ namespace chaiscript {
415
424
return m;
416
425
}
417
426
427
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
418
428
template <typename Ret, typename Param1, typename Param2, typename Param3>
419
429
ModulePtr fma (ModulePtr m = std::make_shared<Module>())
420
430
{
@@ -429,6 +439,7 @@ namespace chaiscript {
429
439
m->add (chaiscript::fun ([](Param p){ return std::fpclassify (p); }), " fpclassify" );
430
440
return m;
431
441
}
442
+ #endif
432
443
433
444
template <typename Ret, typename Param>
434
445
ModulePtr isfinite (ModulePtr m = std::make_shared<Module>())
@@ -553,6 +564,7 @@ namespace chaiscript {
553
564
tanh<float , float >(m);
554
565
tanh<long double , long double >(m);
555
566
567
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
556
568
acosh<double , double >(m);
557
569
acosh<float , float >(m);
558
570
acosh<long double , long double >(m);
@@ -564,6 +576,7 @@ namespace chaiscript {
564
576
atanh<double , double >(m);
565
577
atanh<float , float >(m);
566
578
atanh<long double , long double >(m);
579
+ #endif
567
580
568
581
// EXPONENTIAL AND LOGARITHMIC FUNCTIONS
569
582
exp<double , double >(m);
@@ -590,6 +603,7 @@ namespace chaiscript {
590
603
modf<float , float , float *>(m);
591
604
modf<long double , long double , long double *>(m);
592
605
606
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
593
607
exp2<double , double >(m);
594
608
exp2<float , float >(m);
595
609
exp2<long double , long double >(m);
@@ -621,6 +635,7 @@ namespace chaiscript {
621
635
scalbln<double , double , long int >(m);
622
636
scalbln<float , float , long int >(m);
623
637
scalbln<long double , long double , long int >(m);
638
+ #endif
624
639
625
640
// POWER FUNCTIONS
626
641
pow<double , double , double >(m);
@@ -631,6 +646,7 @@ namespace chaiscript {
631
646
sqrt<float , float >(m);
632
647
sqrt<long double , long double >(m);
633
648
649
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
634
650
cbrt<double , double >(m);
635
651
cbrt<float , float >(m);
636
652
cbrt<long double , long double >(m);
@@ -655,6 +671,7 @@ namespace chaiscript {
655
671
lgamma<double , double >(m);
656
672
lgamma<float , float >(m);
657
673
lgamma<long double , long double >(m);
674
+ #endif
658
675
659
676
// ROUNDING AND REMAINDER FUNCTIONS
660
677
ceil<double , double >(m);
@@ -669,6 +686,7 @@ namespace chaiscript {
669
686
fmod<float , float , float >(m);
670
687
fmod<long double , long double , long double >(m);
671
688
689
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
672
690
trunc<double , double >(m);
673
691
trunc<float , float >(m);
674
692
trunc<long double , long double >(m);
@@ -743,11 +761,13 @@ namespace chaiscript {
743
761
fabs<double , double >(m);
744
762
fabs<float , float >(m);
745
763
fabs<long double , long double >(m);
764
+ #endif
746
765
747
766
abs<double , double >(m);
748
767
abs<float , float >(m);
749
768
abs<long double , long double >(m);
750
769
770
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
751
771
fma<double , double , double , double >(m);
752
772
fma<float , float , float , float >(m);
753
773
638E
fma<long double , long double , long double , long double >(m);
@@ -756,6 +776,7 @@ namespace chaiscript {
756
776
fpclassify<int , float >(m);
757
777
fpclassify<int , double >(m);
758
778
fpclassify<int , long double >(m);
779
+ #endif
759
780
760
781
isfinite<bool , float >(m);
761
782
isfinite<bool , double >(m);
0 commit comments