diff options
| author | dana <dana@dana.is> | 2026-04-13 11:04:58 -0500 |
|---|---|---|
| committer | dana <dana@dana.is> | 2026-04-13 11:07:56 -0500 |
| commit | bfb982d6824a41ebff1fc5934ebee7f01df1e682 (patch) | |
| tree | 4cf710d17dcd411e88f1f5261ed96ec15202c394 /Src/Modules/mathfunc.c | |
| parent | 54313: convfloat: use consistent capitalisation for NaN, Inf, and -Inf (diff) | |
| download | zsh-bfb982d6824a41ebff1fc5934ebee7f01df1e682.tar zsh-bfb982d6824a41ebff1fc5934ebee7f01df1e682.tar.gz zsh-bfb982d6824a41ebff1fc5934ebee7f01df1e682.tar.bz2 zsh-bfb982d6824a41ebff1fc5934ebee7f01df1e682.tar.lz zsh-bfb982d6824a41ebff1fc5934ebee7f01df1e682.tar.xz zsh-bfb982d6824a41ebff1fc5934ebee7f01df1e682.tar.zst zsh-bfb982d6824a41ebff1fc5934ebee7f01df1e682.zip | |
54318: mathfunc: add isnan() and isinf(). also document NaN + Inf
Diffstat (limited to 'Src/Modules/mathfunc.c')
| -rw-r--r-- | Src/Modules/mathfunc.c | 14 |
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; |
