From: Alexandre Julliard julliard@winehq.org
--- dlls/msvcrt/math.c | 84 ---------------------------------------------- 1 file changed, 84 deletions(-)
diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c index 4d8e0e17b6f..ef5d194eab8 100644 --- a/dlls/msvcrt/math.c +++ b/dlls/msvcrt/math.c @@ -7722,90 +7722,6 @@ void __cdecl __libm_sse2_sqrt_precise(void)
#if _MSVCR_VER>=120
-/********************************************************************* - * cbrt (MSVCR120.@) - * - * Copied from musl: src/math/cbrt.c - */ -double CDECL cbrt(double x) -{ - static const UINT32 B1 = 715094163, B2 = 696219795; - static const double P0 = 1.87595182427177009643, - P1 = -1.88497979543377169875, - P2 = 1.621429720105354466140, - P3 = -0.758397934778766047437, - P4 = 0.145996192886612446982; - - union {double f; UINT64 i;} u = {x}; - double r,s,t,w; - UINT32 hx = u.i >> 32 & 0x7fffffff; - - if (hx >= 0x7ff00000) /* cbrt(NaN,INF) is itself */ - return x + x; - - if (hx < 0x00100000) { /* zero or subnormal? */ - u.f = x * 0x1p54; - hx = u.i>>32 & 0x7fffffff; - if (hx == 0) - return x; - hx = hx / 3 + B2; - } else - hx = hx / 3 + B1; - u.i &= 1ULL << 63; - u.i |= (UINT64)hx << 32; - t = u.f; - - r = (t * t) * (t / x); - t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); - - u.f = t; - u.i = (u.i + 0x80000000) & 0xffffffffc0000000ULL; - t = u.f; - - s = t * t; - r = x / s; - w = t + t; - r = (r - t) / (w + r); - t = t + t * r; - return t; -} - -/********************************************************************* - * cbrtf (MSVCR120.@) - * - * Copied from musl: src/math/cbrtf.c - */ -float CDECL cbrtf(float x) -{ - static const unsigned B1 = 709958130, B2 = 642849266; - - double r,T; - union {float f; UINT32 i;} u = {x}; - UINT32 hx = u.i & 0x7fffffff; - - if (hx >= 0x7f800000) - return x + x; - - if (hx < 0x00800000) { /* zero or subnormal? */ - if (hx == 0) - return x; - u.f = x * 0x1p24f; - hx = u.i & 0x7fffffff; - hx = hx / 3 + B2; - } else - hx = hx / 3 + B1; - u.i &= 0x80000000; - u.i |= hx; - - T = u.f; - r = T * T * T; - T = T * (x + x + r) / (x + r + r); - - r = T * T * T; - T = T * (x + x + r) / (x + r + r); - return T; -} - /********************************************************************* * exp2 (MSVCR120.@) *