diff --git a/lib/c/math.zig b/lib/c/math.zig index 1f80e1cc7e5362891884988ecff8423269bf9ce8..36bdfcfa753e66d3506beefccb7484f8260a3747 100644 --- a/lib/c/math.zig +++ b/lib/c/math.zig @@ -62,6 +62,8 @@ comptime { symbol(&exp10, "exp10"); symbol(&exp10f, "exp10f"); symbol(&fdim, "fdim"); + symbol(&finite, "finite"); + symbol(&finitef, "finitef"); symbol(&frexp, "frexp"); symbol(&hypot, "hypot"); symbol(&modf, "modf"); @@ -164,6 +166,14 @@ fn fdim(x: f64, y: f64) callconv(.c) f64 { return 0; } +fn finite(x: f64) callconv(.c) c_int { + return if (math.isFinite(x)) 1 else 0; +} + +fn finitef(x: f32) callconv(.c) c_int { + return if (math.isFinite(x)) 1 else 0; +} + fn frexpGeneric(comptime T: type, x: T, e: *c_int) T { // libc expects `*e` to be unspecified in this case; an unspecified C value // should be a valid value of the relevant type, yet Zig's std diff --git a/lib/libc/musl/src/math/finite.c b/lib/libc/musl/src/math/finite.c deleted file mode 100644 index 25a0575fb9757d6ddaec5a538db7984d007fdb55..0000000000000000000000000000000000000000 --- a/lib/libc/musl/src/math/finite.c +++ /dev/null @@ -1,7 +0,0 @@ -#define _GNU_SOURCE -#include - -int finite(double x) -{ - return isfinite(x); -} diff --git a/lib/libc/musl/src/math/finitef.c b/lib/libc/musl/src/math/finitef.c deleted file mode 100644 index 2c4c771463a1b244244edf3ea92026f8fe78c67a..0000000000000000000000000000000000000000 --- a/lib/libc/musl/src/math/finitef.c +++ /dev/null @@ -1,7 +0,0 @@ -#define _GNU_SOURCE -#include - -int finitef(float x) -{ - return isfinite(x); -} diff --git a/src/libs/musl.zig b/src/libs/musl.zig index 73f93a82710d735f2b7998d27811c2d2be2dc0c9..c451312bbb9d39620f92364b173df38bc499e795 100644 --- a/src/libs/musl.zig +++ b/src/libs/musl.zig @@ -831,8 +831,6 @@ const src_files = [_][]const u8{ "musl/src/math/__expo2f.c", "musl/src/math/fdimf.c", "musl/src/math/fdiml.c", - "musl/src/math/finite.c", - "musl/src/math/finitef.c", "musl/src/math/fma.c", "musl/src/math/fmaf.c", "musl/src/math/fmal.c", diff --git a/src/libs/wasi_libc.zig b/src/libs/wasi_libc.zig index 75840076a50064095e72ae64cdb46013ed756a5e..fbc5f5a142d7dcec086d2333446a3ea85bd8b17b 100644 --- a/src/libs/wasi_libc.zig +++ b/src/libs/wasi_libc.zig @@ -697,8 +697,6 @@ const libc_top_half_src_files = [_][]const u8{ "musl/src/math/expm1l.c", "musl/src/math/fdimf.c", "musl/src/math/fdiml.c", - "musl/src/math/finite.c", - "musl/src/math/finitef.c", "musl/src/math/fma.c", "musl/src/math/fmaf.c", "musl/src/math/ilogb.c",