zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit a8b710697eeb7d83364cdca303167d14571e75e3 (tree)
parent ce3f254526609a9b2088d81070903107c969bb81
Author: mihael <hi@mihaelm.com>
Date:   Wed, 18 Mar 2026 18:50:16 +0100

`libzigc/math`: Switch to `compiler_rt` impl of `sincosl`

Diffstat:
Dlib/libc/mingw/math/arm-common/sincosl.c | 13-------------
Dlib/libc/musl/src/math/sincosl.c | 60------------------------------------------------------------
Msrc/libs/mingw.zig | 1-
Msrc/libs/musl.zig | 1-
Msrc/libs/wasi_libc.zig | 1-
5 files changed, 0 insertions(+), 76 deletions(-)

diff --git a/lib/libc/mingw/math/arm-common/sincosl.c b/lib/libc/mingw/math/arm-common/sincosl.c @@ -1,13 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ - -#include <math.h> - -void sincosl(long double x, long double *s, long double *c) -{ - *s = sinl(x); - *c = cosl(x); -} diff --git a/lib/libc/musl/src/math/sincosl.c b/lib/libc/musl/src/math/sincosl.c @@ -1,60 +0,0 @@ -#define _GNU_SOURCE -#include "libm.h" - -#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024 -void sincosl(long double x, long double *sin, long double *cos) -{ - double sind, cosd; - sincos(x, &sind, &cosd); - *sin = sind; - *cos = cosd; -} -#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384 -void sincosl(long double x, long double *sin, long double *cos) -{ - union ldshape u = {x}; - unsigned n; - long double y[2], s, c; - - u.i.se &= 0x7fff; - if (u.i.se == 0x7fff) { - *sin = *cos = x - x; - return; - } - if (u.f < M_PI_4) { - if (u.i.se < 0x3fff - LDBL_MANT_DIG) { - /* raise underflow if subnormal */ - if (u.i.se == 0) FORCE_EVAL(x*0x1p-120f); - *sin = x; - /* raise inexact if x!=0 */ - *cos = 1.0 + x; - return; - } - *sin = __sinl(x, 0, 0); - *cos = __cosl(x, 0); - return; - } - n = __rem_pio2l(x, y); - s = __sinl(y[0], y[1], 1); - c = __cosl(y[0], y[1]); - switch (n & 3) { - case 0: - *sin = s; - *cos = c; - break; - case 1: - *sin = c; - *cos = -s; - break; - case 2: - *sin = -s; - *cos = -c; - break; - case 3: - default: - *sin = -c; - *cos = s; - break; - } -} -#endif diff --git a/src/libs/mingw.zig b/src/libs/mingw.zig @@ -987,7 +987,6 @@ const mingw32_x86_32_src = [_][]const u8{ const mingw32_arm_src = [_][]const u8{ // mingwex "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ldexpl.c", - "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "sincosl.c", }; const mingw32_arm32_src = [_][]const u8{ diff --git a/src/libs/musl.zig b/src/libs/musl.zig @@ -992,7 +992,6 @@ const src_files = [_][]const u8{ "musl/src/math/significand.c", "musl/src/math/significandf.c", "musl/src/math/__sin.c", - "musl/src/math/sincosl.c", "musl/src/math/__sindf.c", "musl/src/math/sinh.c", "musl/src/math/sinhf.c", diff --git a/src/libs/wasi_libc.zig b/src/libs/wasi_libc.zig @@ -785,7 +785,6 @@ const libc_top_half_src_files = [_][]const u8{ "musl/src/math/significand.c", "musl/src/math/significandf.c", "musl/src/math/__sin.c", - "musl/src/math/sincosl.c", "musl/src/math/__sindf.c", "musl/src/math/sinhl.c", "musl/src/math/__sinl.c",