37 #include <chaiscript/chaiscript.hpp>
49 template<
typename Ret,
typename Param>
50 ModulePtr
cos(ModulePtr m = std::make_shared<Module>())
52 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::cos)),
"cos");
56 template<
typename Ret,
typename Param>
57 ModulePtr
sin(ModulePtr m = std::make_shared<Module>())
59 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::sin)),
"sin");
63 template<
typename Ret,
typename Param>
64 ModulePtr
tan(ModulePtr m = std::make_shared<Module>())
66 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::tan)),
"tan");
70 template<
typename Ret,
typename Param>
71 ModulePtr
acos(ModulePtr m = std::make_shared<Module>())
73 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::acos)),
"acos");
77 template<
typename Ret,
typename Param>
78 ModulePtr
asin(ModulePtr m = std::make_shared<Module>())
80 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::asin)),
"asin");
84 template<
typename Ret,
typename Param>
85 ModulePtr
atan(ModulePtr m = std::make_shared<Module>())
87 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::atan)),
"atan");
91 template<
typename Ret,
typename Param1,
typename Param2>
92 ModulePtr
atan2(ModulePtr m = std::make_shared<Module>())
94 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::atan2)),
"atan2");
99 template<
typename Ret,
typename Param>
100 ModulePtr
cosh(ModulePtr m = std::make_shared<Module>())
102 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::cosh)),
"cosh");
106 template<
typename Ret,
typename Param>
107 ModulePtr
sinh(ModulePtr m = std::make_shared<Module>())
109 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::sinh)),
"sinh");
113 template<
typename Ret,
typename Param>
114 ModulePtr
tanh(ModulePtr m = std::make_shared<Module>())
116 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::tanh)),
"tanh");
120 template<
typename Ret,
typename Param>
121 ModulePtr
acosh(ModulePtr m = std::make_shared<Module>())
123 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::acosh)),
"acosh");
127 template<
typename Ret,
typename Param>
128 ModulePtr
asinh(ModulePtr m = std::make_shared<Module>())
130 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::asinh)),
"asinh");
134 template<
typename Ret,
typename Param>
135 ModulePtr
atanh(ModulePtr m = std::make_shared<Module>())
137 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::atanh)),
"atanh");
142 template<
typename Ret,
typename Param>
143 ModulePtr
exp(ModulePtr m = std::make_shared<Module>())
145 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::exp)),
"exp");
149 template<
typename Ret,
typename Param1,
typename Param2>
150 ModulePtr
frexp(ModulePtr m = std::make_shared<Module>())
152 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::frexp)),
"frexp");
156 template<
typename Ret,
typename Param1,
typename Param2>
157 ModulePtr
ldexp(ModulePtr m = std::make_shared<Module>())
159 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::ldexp)),
"ldexp");
163 template<
typename Ret,
typename Param>
164 ModulePtr
log(ModulePtr m = std::make_shared<Module>())
166 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::log)),
"log");
170 template<
typename Ret,
typename Param>
171 ModulePtr
log10(ModulePtr m = std::make_shared<Module>())
173 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::log10)),
"log10");
177 template<
typename Ret,
typename Param1,
typename Param2>
178 ModulePtr
modf(ModulePtr m = std::make_shared<Module>())
180 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::modf)),
"modf");
183 template<
typename Ret,
typename Param>
184 ModulePtr
exp2(ModulePtr m = std::make_shared<Module>())
186 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::exp2)),
"exp2");
190 template<
typename Ret,
typename Param>
191 ModulePtr
expm1(ModulePtr m = std::make_shared<Module>())
193 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::expm1)),
"expm1");
197 template<
typename Ret,
typename Param>
198 ModulePtr
ilogb(ModulePtr m = std::make_shared<Module>())
200 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::ilogb)),
"ilogb");
204 template<
typename Ret,
typename Param>
205 ModulePtr
log1p(ModulePtr m = std::make_shared<Module>())
207 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::log1p)),
"log1p");
211 template<
typename Ret,
typename Param>
212 ModulePtr
log2(ModulePtr m = std::make_shared<Module>())
214 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::log2)),
"log2");
218 template<
typename Ret,
typename Param>
219 ModulePtr
logb(ModulePtr m = std::make_shared<Module>())
221 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::logb)),
"logb");
225 template<
typename Ret,
typename Param1,
typename Param2>
226 ModulePtr
scalbn(ModulePtr m = std::make_shared<Module>())
228 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::scalbn)),
"scalbn");
232 template<
typename Ret,
typename Param1,
typename Param2>
233 ModulePtr
scalbln(ModulePtr m = std::make_shared<Module>())
235 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::scalbln)),
"scalbln");
240 template<
typename Ret,
typename Param1,
typename Param2>
241 ModulePtr
pow(ModulePtr m = std::make_shared<Module>())
243 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::pow)),
"pow");
247 template<
typename Ret,
typename Param>
248 ModulePtr
sqrt(ModulePtr m = std::make_shared<Module>())
250 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::sqrt)),
"sqrt");
254 template<
typename Ret,
typename Param>
255 ModulePtr
cbrt(ModulePtr m = std::make_shared<Module>())
257 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::cbrt)),
"cbrt");
261 template<
typename Ret,
typename Param1,
typename Param2>
262 ModulePtr
hypot(ModulePtr m = std::make_shared<Module>())
264 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::hypot)),
"hypot");
269 template<
typename Ret,
typename Param>
270 ModulePtr
erf(ModulePtr m = std::make_shared<Module>())
272 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::erf)),
"erf");
276 template<
typename Ret,
typename Param>
277 ModulePtr
erfc(ModulePtr m = std::make_shared<Module>())
279 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::erfc)),
"erfc");
283 template<
typename Ret,
typename Param>
284 ModulePtr
tgamma(ModulePtr m = std::make_shared<Module>())
286 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::tgamma)),
"tgamma");
290 template<
typename Ret,
typename Param>
291 ModulePtr
lgamma(ModulePtr m = std::make_shared<Module>())
293 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::lgamma)),
"lgamma");
298 template<
typename Ret,
typename Param>
299 ModulePtr
ceil(ModulePtr m = std::make_shared<Module>())
301 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::ceil)),
"ceil");
305 template<
typename Ret,
typename Param>
306 ModulePtr
floor(ModulePtr m = std::make_shared<Module>())
308 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::floor)),
"floor");
312 template<
typename Ret,
typename Param1,
typename Param2>
313 ModulePtr
fmod(ModulePtr m = std::make_shared<Module>())
315 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::fmod)),
"fmod");
319 template<
typename Ret,
typename Param>
320 ModulePtr
trunc(ModulePtr m = std::make_shared<Module>())
322 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::trunc)),
"trunc");
326 template<
typename Ret,
typename Param>
327 ModulePtr
round(ModulePtr m = std::make_shared<Module>())
329 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::round)),
"round");
333 template<
typename Ret,
typename Param>
334 ModulePtr
lround(ModulePtr m = std::make_shared<Module>())
336 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::lround)),
"lround");
341 template<
typename Ret,
typename Param>
342 ModulePtr
llround(ModulePtr m = std::make_shared<Module>())
344 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::llround)),
"llround");
348 template<
typename Ret,
typename Param>
349 ModulePtr
rint(ModulePtr m = std::make_shared<Module>())
351 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::rint)),
"rint");
355 template<
typename Ret,
typename Param>
356 ModulePtr
lrint(ModulePtr m = std::make_shared<Module>())
358 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::lrint)),
"lrint");
363 template<
typename Ret,
typename Param>
364 ModulePtr
llrint(ModulePtr m = std::make_shared<Module>())
366 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::llrint)),
"llrint");
370 template<
typename Ret,
typename Param>
371 ModulePtr
nearbyint(ModulePtr m = std::make_shared<Module>())
373 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::nearbyint)),
"nearbyint");
377 template<
typename Ret,
typename Param1,
typename Param2>
378 ModulePtr
remainder(ModulePtr m = std::make_shared<Module>())
380 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::remainder)),
"remainder");
384 template<
typename Ret,
typename Param1,
typename Param2,
typename Param3>
385 ModulePtr
remquo(ModulePtr m = std::make_shared<Module>())
387 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2, Param3)
>(&
std::remquo)),
"remquo");
392 template<
typename Ret,
typename Param1,
typename Param2>
393 ModulePtr
copysign(ModulePtr m = std::make_shared<Module>())
395 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::copysign)),
"copysign");
399 template<
typename Ret,
typename Param>
400 ModulePtr
nan(ModulePtr m = std::make_shared<Module>())
402 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::nan)),
"nan");
406 template<
typename Ret,
typename Param1,
typename Param2>
407 ModulePtr
nextafter(ModulePtr m = std::make_shared<Module>())
409 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::nextafter)),
"nextafter");
413 template<
typename Ret,
typename Param1,
typename Param2>
414 ModulePtr
nexttoward(ModulePtr m = std::make_shared<Module>())
416 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::nexttoward)),
"nexttoward");
421 template<
typename Ret,
typename Param1,
typename Param2>
422 ModulePtr
fdim(ModulePtr m = std::make_shared<Module>())
424 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::fdim)),
"fdim");
428 template<
typename Ret,
typename Param1,
typename Param2>
429 ModulePtr
fmax(ModulePtr m = std::make_shared<Module>())
431 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::fmax)),
"fmax");
435 template<
typename Ret,
typename Param1,
typename Param2>
436 ModulePtr
fmin(ModulePtr m = std::make_shared<Module>())
438 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::fmin)),
"fmin");
443 template<
typename Ret,
typename Param>
444 ModulePtr
fabs(ModulePtr m = std::make_shared<Module>())
446 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::fabs)),
"fabs");
450 template<
typename Ret,
typename Param>
451 ModulePtr
abs(ModulePtr m = std::make_shared<Module>())
453 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::abs)),
"abs");
457 template<
typename Ret,
typename Param1,
typename Param2,
typename Param3>
458 ModulePtr
fma(ModulePtr m = std::make_shared<Module>())
460 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2, Param3)
>(&
std::fma)),
"fma");
465 template<
typename Ret,
typename Param>
466 ModulePtr
fpclassify(ModulePtr m = std::make_shared<Module>())
468 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::fpclassify)),
"fpclassify");
472 template<
typename Ret,
typename Param>
473 ModulePtr
isfinite(ModulePtr m = std::make_shared<Module>())
475 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::isfinite)),
"isfinite");
479 template<
typename Ret,
typename Param>
480 ModulePtr
isinf(ModulePtr m = std::make_shared<Module>())
482 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::isinf)),
"isinf");
486 template<
typename Ret,
typename Param>
487 ModulePtr
isnan(ModulePtr m = std::make_shared<Module>())
489 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::isnan)),
"isnan");
493 template<
typename Ret,
typename Param>
494 ModulePtr
isnormal(ModulePtr m = std::make_shared<Module>())
496 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::isnormal)),
"isnormal");
500 template<
typename Ret,
typename Param>
501 ModulePtr
signbit(ModulePtr m = std::make_shared<Module>())
503 m->add(chaiscript::fun(
static_cast<Ret (*)(Param)
>(&
std::signbit)),
"signbit");
508 template<
typename Ret,
typename Param1,
typename Param2>
509 ModulePtr
isgreater(ModulePtr m = std::make_shared<Module>())
511 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::isgreater)),
"isgreater");
515 template<
typename Ret,
typename Param1,
typename Param2>
518 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::isgreaterequal)),
"isgreaterequal");
522 template<
typename Ret,
typename Param1,
typename Param2>
523 ModulePtr
isless(ModulePtr m = std::make_shared<Module>())
525 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::isless)),
"isless");
529 template<
typename Ret,
typename Param1,
typename Param2>
532 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::islessequal)),
"islessequal");
536 template<
typename Ret,
typename Param1,
typename Param2>
539 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::islessgreater)),
"islessgreater");
543 template<
typename Ret,
typename Param1,
typename Param2>
546 m->add(chaiscript::fun(
static_cast<Ret (*)(Param1, Param2)
>(&
std::isunordered)),
"isunordered");
550 ModulePtr
bootstrap(ModulePtr m = std::make_shared<Module>())
553 cos<double, double>(m);
554 cos<float, float>(m);
555 cos<long double, long double>(m);
557 sin<double, double>(m);
558 sin<float, float>(m);
559 sin<long double, long double>(m);
561 tan<double, double>(m);
562 tan<float, float>(m);
563 tan<long double, long double>(m);
565 acos<double, double>(m);
566 acos<float, float>(m);
567 acos<long double, long double>(m);
569 asin<double, double>(m);
570 asin<float, float>(m);
571 asin<long double, long double>(m);
573 atan<double, double>(m);
574 atan<float, float>(m);
575 atan<long double, long double>(m);
577 atan2<double, double, double>(m);
578 atan2<float, float, float>(m);
579 atan2<long double, long double, long double>(m);
582 cosh<double, double>(m);
583 cosh<float, float>(m);
584 cosh<long double, long double>(m);
586 sinh<double, double>(m);
587 sinh<float, float>(m);
588 sinh<long double, long double>(m);
590 tanh<double, double>(m);
591 tanh<float, float>(m);
592 tanh<long double, long double>(m);
594 acosh<double, double>(m);
595 acosh<float, float>(m);
596 acosh<long double, long double>(m);
598 asinh<double, double>(m);
599 asinh<float, float>(m);
600 asinh<long double, long double>(m);
602 atanh<double, double>(m);
603 atanh<float, float>(m);
604 atanh<long double, long double>(m);
607 exp<double, double>(m);
608 exp<float, float>(m);
609 exp<long double, long double>(m);
611 frexp<double, double, int *>(m);
612 frexp<float, float, int *>(m);
613 frexp<long double, long double, int *>(m);
615 ldexp<double, double, int>(m);
616 ldexp<float, float, int>(m);
617 ldexp<long double, long double, int>(m);
619 log<double, double>(m);
620 log<float, float>(m);
621 log<long double, long double>(m);
623 log10<double, double>(m);
624 log10<float, float>(m);
625 log10<long double, long double>(m);
627 modf<double, double, double *>(m);
628 modf<float, float, float *>(m);
629 modf<long double, long double, long double *>(m);
631 exp2<double, double>(m);
632 exp2<float, float>(m);
633 exp2<long double, long double>(m);
635 expm1<double, double>(m);
636 expm1<float, float>(m);
637 expm1<long double, long double>(m);
639 ilogb<int, double>(m);
640 ilogb<int, float>(m);
641 ilogb<int, long double>(m);
643 log1p<double, double>(m);
644 log1p<float, float>(m);
645 log1p<long double, long double>(m);
647 log2<double, double>(m);
648 log2<float, float>(m);
649 log2<long double, long double>(m);
651 logb<double, double>(m);
652 logb<float, float>(m);
653 logb<long double, long double>(m);
655 scalbn<double, double, int>(m);
656 scalbn<float, float, int>(m);
657 scalbn<long double, long double, int>(m);
659 scalbln<double, double, long int>(m);
660 scalbln<float, float, long int>(m);
661 scalbln<long double, long double, long int>(m);
664 pow<double, double, double>(m);
665 pow<float, float, float>(m);
666 pow<long double, long double, long double>(m);
668 sqrt<double, double>(m);
669 sqrt<float, float>(m);
670 sqrt<long double, long double>(m);
672 cbrt<double, double>(m);
673 cbrt<float, float>(m);
674 cbrt<long double, long double>(m);
676 hypot<double, double, double>(m);
677 hypot<float, float, float>(m);
678 hypot<long double, long double, long double>(m);
681 erf<double, double>(m);
682 erf<float, float>(m);
683 erf<long double, long double>(m);
685 erfc<double, double>(m);
686 erfc<float, float>(m);
687 erfc<long double, long double>(m);
689 tgamma<double, double>(m);
690 tgamma<float, float>(m);
691 tgamma<long double, long double>(m);
693 lgamma<double, double>(m);
694 lgamma<float, float>(m);
695 lgamma<long double, long double>(m);
698 ceil<double, double>(m);
699 ceil<float, float>(m);
700 ceil<long double, long double>(m);
702 floor<double, double>(m);
703 floor<float, float>(m);
704 floor<long double, long double>(m);
706 fmod<double, double, double>(m);
707 fmod<float, float, float>(m);
708 fmod<long double, long double, long double>(m);
710 trunc<double, double>(m);
711 trunc<float, float>(m);
712 trunc<long double, long double>(m);
714 round<double, double>(m);
715 round<float, float>(m);
716 round<long double, long double>(m);
718 lround<long int, double>(m);
719 lround<long int, float>(m);
720 lround<long int, long double>(m);
723 llround<long long int, double>(m);
724 llround<long long int, float>(m);
725 llround<long long int, long double>(m);
727 rint<double, double>(m);
728 rint<float, float>(m);
729 rint<long double, long double>(m);
731 lrint<long int, double>(m);
732 lrint<long int, float>(m);
733 lrint<long int, long double>(m);
736 llrint<long long int, double>(m);
737 llrint<long long int, float>(m);
738 llrint<long long int, long double>(m);
740 nearbyint<double, double>(m);
741 nearbyint<float, float>(m);
742 nearbyint<long double, long double>(m);
744 remainder<double, double, double>(m);
745 remainder<float, float, float>(m);
746 remainder<long double, long double, long double>(m);
748 remquo<double, double, double, int *>(m);
749 remquo<float, float, float, int *>(m);
750 remquo<long double, long double, long double, int *>(m);
753 copysign<double, double, double>(m);
754 copysign<float, float, float>(m);
755 copysign<long double, long double, long double>(m);
757 nan<double, const char*>(m);
759 nextafter<double, double, double>(m);
760 nextafter<float, float, float>(m);
761 nextafter<long double, long double, long double>(m);
763 nexttoward<double, double, long double>(m);
764 nexttoward<float, float, long double>(m);
765 nexttoward<long double, long double, long double>(m);
768 fdim<double, double, double>(m);
769 fdim<float, float, float>(m);
770 fdim<long double, long double, long double>(m);
772 fmax<double, double, double>(m);
773 fmax<float, float, float>(m);
774 fmax<long double, long double, long double>(m);
776 fmin<double, double, double>(m);
777 fmin<float, float, float>(m);
778 fmin<long double, long double, long double>(m);
781 fabs<double, double>(m);
782 fabs<float, float>(m);
783 fabs<long double, long double>(m);
785 abs<double, double>(m);
786 abs<float, float>(m);
787 abs<long double, long double>(m);
789 fma<double, double, double, double>(m);
790 fma<float, float, float, float>(m);
791 fma<long double, long double, long double, long double>(m);
794 fpclassify<int, float>(m);
795 fpclassify<int, double>(m);
796 fpclassify<int, long double>(m);
798 isfinite<bool, float>(m);
799 isfinite<bool, double>(m);
800 isfinite<bool, long double>(m);
802 isinf<bool, float>(m);
808 isnan<bool, float>(m);
814 isnormal<bool, float>(m);
815 isnormal<bool, double>(m);
816 isnormal<bool, long double>(m);
818 signbit<bool, float>(m);
819 signbit<bool, double>(m);
820 signbit<bool, long double>(m);
823 isgreater<bool, double, double>(m);
824 isgreater<bool, float, float>(m);
825 isgreater<bool, long double, long double>(m);
827 isgreaterequal<bool, double, double>(m);
828 isgreaterequal<bool, float, float>(m);
829 isgreaterequal<bool, long double, long double>(m);
831 isless<bool, double, double>(m);
832 isless<bool, float, float>(m);
833 isless<bool, long double, long double>(m);
835 islessequal<bool, double, double>(m);
836 islessequal<bool, float, float>(m);
837 islessequal<bool, long double, long double>(m);
839 islessgreater<bool, double, double>(m);
840 islessgreater<bool, float, float>(m);
841 islessgreater<bool, long double, long double>(m);
843 isunordered<bool, double, double>(m);
844 isunordered<bool, float, float>(m);
845 isunordered<bool, long double, long double>(m);