summaryrefslogtreecommitdiffstats
path: root/Src/Modules/mathfunc.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Modules/mathfunc.c')
-rw-r--r--Src/Modules/mathfunc.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/Src/Modules/mathfunc.c b/Src/Modules/mathfunc.c
index fc2593dca..0941b3bb1 100644
--- a/Src/Modules/mathfunc.c
+++ b/Src/Modules/mathfunc.c
@@ -57,6 +57,8 @@ MF_GAMMA,
MF_HYPOT,
MF_ILOGB,
MF_INT,
+MF_ISINF,
+MF_ISNAN,
MF_J0,
MF_J1,
MF_JN,
@@ -135,6 +137,8 @@ static struct mathfunc mftab[] = {
NUMMATHFUNC("hypot", math_func, 2, 2, MF_HYPOT),
NUMMATHFUNC("ilogb", math_func, 1, 1, MF_ILOGB | TFLAG(TF_NOASS)),
NUMMATHFUNC("int", math_func, 1, 1, MF_INT | TFLAG(TF_NOASS)),
+ NUMMATHFUNC("isinf", math_func, 1, 1, MF_ISINF | TFLAG(TF_NOASS)),
+ NUMMATHFUNC("isnan", math_func, 1, 1, MF_ISNAN | TFLAG(TF_NOASS)),
NUMMATHFUNC("j0", math_func, 1, 1, MF_J0),
NUMMATHFUNC("j1", math_func, 1, 1, MF_J1),
NUMMATHFUNC("jn", math_func, 2, 2, MF_JN | TFLAG(TF_INT1)),
@@ -308,6 +312,16 @@ math_func(UNUSED(char *name), int argc, mnumber *argv, int id)
ret.u.l = (zlong)argd;
break;
+ case MF_ISINF:
+ ret.type = MN_INTEGER;
+ ret.u.l = (zlong) isinf(argd);
+ break;
+
+ case MF_ISNAN:
+ ret.type = MN_INTEGER;
+ ret.u.l = (zlong) isnan(argd);
+ break;
+
case MF_J0:
retd = j0(argd);
break;