mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-05-21 08:32:02 +03:00
libzigc/math: Switch to compiler_rt impl of sincosl
This commit is contained in:
-13
@@ -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);
|
||||
}
|
||||
Vendored
-60
@@ -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
|
||||
@@ -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{
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user