@@ -81,6 +81,7 @@ namespace chaiscript {
81
81
return m;
82
82
}
83
83
84
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
84
85
template <typename Ret, typename Param>
85
86
ModulePtr acosh (ModulePtr m = std::make_shared<Module>())
86
87
{
@@ -101,6 +102,7 @@ namespace chaiscript {
101
102
m->add (chaiscript::fun ([](Param p){ return std::atanh (p); }), " atanh" );
102
103
return m;
103
104
}
105
+ #endif
104
106
105
107
// EXPONENTIAL AND LOGARITHMIC FUNCTIONS
106
108
template <typename Ret, typename Param>
@@ -144,6 +146,8 @@ namespace chaiscript {
144
146
m->add (chaiscript::fun ([](Param1 p1, Param2 p2){ return std::modf (p1, p2); }), " modf" );
145
147
return m;
146
148
}
149
+
150
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
147
151
template <typename Ret, typename Param>
148
152
ModulePtr exp2 (ModulePtr m = std::make_shared<Module>())
149
153
{
@@ -199,6 +203,7 @@ namespace chaiscript {
199
203
m->add (chaiscript::fun ([](Param1 p1, Param2 p2){ return std::scalbln (p1, p2); }), " scalbln" );
200
204
return m;
201
205
}
206
+ #endif
202
207
203
208
// POWER FUNCTIONS
204
209
template <typename Ret, typename Param1, typename Param2>
@@ -215,6 +220,7 @@ namespace chaiscript {
215
220
return m;
216
221
}
217
222
223
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
218
224
template <typename Ret, typename Param>
219
225
ModulePtr cbrt (ModulePtr m = std::make_shared<Module>())
220
226
{
@@ -257,6 +263,7 @@ namespace chaiscript {
257
263
m->add (chaiscript::fun ([](Param p){ return std::lgamma (p); }), " lgamma" );
258
264
return m;
259
265
}
266
+ #endif
260
267
261
268
// ROUNDING AND REMAINDER FUNCTIONS
262
269
template <typename Ret, typename Param>
@@ -280,6 +287,7 @@ namespace chaiscript {
280
287
return m;
281
288
}
282
289
290
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
283
291
template <typename Ret, typename Param>
284
292
ModulePtr trunc (ModulePtr m = std::make_shared<Module>())
285
293
{
@@ -410,6 +418,7 @@ namespace chaiscript {
410
418
m->add (chaiscript::fun ([](Param p){ return std::fabs (p); }), " fabs" );
411
419
return m;
412
420
}
421
+ #endif
413
422
414
423
template <typename Ret, typename Param>
415
424
ModulePtr abs (ModulePtr m = std::make_shared<Module>())
@@ -418,6 +427,7 @@ namespace chaiscript {
418
427
return m;
419
428
}
420
429
430
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
421
431
template <typename Ret, typename Param1, typename Param2, typename Param3>
422
432
ModulePtr fma (ModulePtr m = std::make_shared<Module>())
423
433
{
@@ -432,6 +442,7 @@ namespace chaiscript {
432
442
m->add (chaiscript::fun ([](Param p){ return std::fpclassify (p); }), " fpclassify" );
433
443
return m;
434
444
}
445
+ #endif
435
446
436
447
template <typename Ret, typename Param>
437
448
ModulePtr isfinite (ModulePtr m = std::make_shared<Module>())
@@ -556,6 +567,7 @@ namespace chaiscript {
556
567
tanh <float , float >(m);
557
568
tanh <long double , long double >(m);
558
569
570
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
559
571
acosh <double , double >(m);
560
572
acosh <float , float >(m);
561
573
acosh <long double , long double >(m);
@@ -567,6 +579,7 @@ namespace chaiscript {
567
579
atanh <double , double >(m);
568
580
atanh <float , float >(m);
569
581
atanh <long double , long double >(m);
582
+ #endif
570
583
571
584
// EXPONENTIAL AND LOGARITHMIC FUNCTIONS
572
585
exp <double , double >(m);
@@ -593,6 +606,7 @@ namespace chaiscript {
593
606
modf <float , float , float *>(m);
594
607
modf <long double , long double , long double *>(m);
595
608
609
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
596
610
exp2 <double , double >(m);
597
611
exp2 <float , float >(m);
598
612
exp2 <long double , long double >(m);
@@ -624,6 +638,7 @@ namespace chaiscript {
624
638
scalbln <double , double , long int >(m);
625
639
scalbln <float , float , long int >(m);
626
640
scalbln <long double , long double , long int >(m);
641
+ #endif
627
642
628
643
// POWER FUNCTIONS
629
644
pow <double , double , double >(m);
@@ -634,6 +649,7 @@ namespace chaiscript {
634
649
sqrt <float , float >(m);
635
650
sqrt <long double , long double >(m);
636
651
652
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
637
653
cbrt <double , double >(m);
638
654
cbrt <float , float >(m);
639
655
cbrt <long double , long double >(m);
@@ -658,6 +674,7 @@ namespace chaiscript {
658
674
lgamma <double , double >(m);
659
675
lgamma <float , float >(m);
660
676
lgamma <long double , long double >(m);
677
+ #endif
661
678
662
679
// ROUNDING AND REMAINDER FUNCTIONS
663
680
ceil <double , double >(m);
@@ -672,6 +689,7 @@ namespace chaiscript {
672
689
fmod <float , float , float >(m);
673
690
fmod <long double , long double , long double >(m);
674
691
692
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
675
693
trunc <double , double >(m);
676
694
trunc <float , float >(m);
677
695
trunc <long double , long double >(m);
@@ -746,11 +764,13 @@ namespace chaiscript {
746
764
fabs <double , double >(m);
747
765
fabs <float , float >(m);
748
766
fabs <long double , long double >(m);
767
+ #endif
749
768
750
769
abs <double , double >(m);
751
770
abs <float , float >(m);
752
771
abs <long double , long double >(m);
753
772
773
+ #ifndef CHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
754
774
fma <double , double , double , double >(m);
755
775
fma <float , float , float , float >(m);
756
776
fma <long double , long double , long double , long double >(m);
@@ -759,6 +779,7 @@ namespace chaiscript {
759
779
fpclassify<int , float >(m);
760
780
fpclassify<int , double >(m);
761
781
fpclassify<int , long double >(m);
782
+ #endif
762
783
763
784
isfinite<bool , float >(m);
764
785
isfinite<bool , double >(m);
0 commit comments