mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-09 02:40:08 +00:00
* sysdeps/i386/fpu/s_tanf.S: Delete so that i386 uses the
ieee754/flt-32 implementation for tan. * math/libm-test.inc (tan_test): Add tests for large input. * sysdeps/i386/fpu/libm-test-ulps: Update.
This commit is contained in:
parent
8c0247db32
commit
ee010c9e95
@ -2113,7 +2113,7 @@ cos_test (void)
|
|||||||
TEST_f_f (cos, 0.75L, 0.731688868873820886311838753000084544L);
|
TEST_f_f (cos, 0.75L, 0.731688868873820886311838753000084544L);
|
||||||
|
|
||||||
#ifndef TEST_LDOUBLE
|
#ifndef TEST_LDOUBLE
|
||||||
/* Enable for long double once x86 and x86-64 implementation is fixed. */
|
/* Enable for long double once x86 and x86-64 implementations are fixed. */
|
||||||
TEST_f_f (cos, 0x1p65, 0.998886220660580136106421721793L);
|
TEST_f_f (cos, 0x1p65, 0.998886220660580136106421721793L);
|
||||||
TEST_f_f (cos, -0x1p65, 0.998886220660580136106421721793L);
|
TEST_f_f (cos, -0x1p65, 0.998886220660580136106421721793L);
|
||||||
#endif
|
#endif
|
||||||
@ -6396,7 +6396,7 @@ sin_test (void)
|
|||||||
TEST_f_f (sin, 0.75L, 0.681638760023334166733241952779893935L);
|
TEST_f_f (sin, 0.75L, 0.681638760023334166733241952779893935L);
|
||||||
|
|
||||||
#ifndef TEST_LDOUBLE
|
#ifndef TEST_LDOUBLE
|
||||||
/* Enable for long double once x86 and x86-64 implementation is fixed. */
|
/* Enable for long double once x86 and x86-64 implementations are fixed. */
|
||||||
TEST_f_f (sin, 0x1p65, -0.0471838762123546738051061498057L);
|
TEST_f_f (sin, 0x1p65, -0.0471838762123546738051061498057L);
|
||||||
TEST_f_f (sin, -0x1p65, 0.0471838762123546738051061498057L);
|
TEST_f_f (sin, -0x1p65, 0.0471838762123546738051061498057L);
|
||||||
#endif
|
#endif
|
||||||
@ -6576,7 +6576,7 @@ sincos_test (void)
|
|||||||
TEST_extra (sincos, 0.75L, 0.681638760023334166733241952779893935L, 0.731688868873820886311838753000084544L);
|
TEST_extra (sincos, 0.75L, 0.681638760023334166733241952779893935L, 0.731688868873820886311838753000084544L);
|
||||||
|
|
||||||
#ifndef TEST_LDOUBLE
|
#ifndef TEST_LDOUBLE
|
||||||
/* Enable for long double once x86 and x86-64 implementation is fixed. */
|
/* Enable for long double once x86 and x86-64 implementations are fixed. */
|
||||||
TEST_extra (sincos, 0x1p65, -0.0471838762123546738051061498057L, 0.998886220660580136106421721793L);
|
TEST_extra (sincos, 0x1p65, -0.0471838762123546738051061498057L, 0.998886220660580136106421721793L);
|
||||||
TEST_extra (sincos, -0x1p65, 0.0471838762123546738051061498057L, 0.998886220660580136106421721793L);
|
TEST_extra (sincos, -0x1p65, 0.0471838762123546738051061498057L, 0.998886220660580136106421721793L);
|
||||||
#endif
|
#endif
|
||||||
@ -6784,6 +6784,13 @@ tan_test (void)
|
|||||||
TEST_f_f (tan, M_PI_4l, 1);
|
TEST_f_f (tan, M_PI_4l, 1);
|
||||||
TEST_f_f (tan, 0.75L, 0.931596459944072461165202756573936428L);
|
TEST_f_f (tan, 0.75L, 0.931596459944072461165202756573936428L);
|
||||||
|
|
||||||
|
#ifdef TEST_FLOAT
|
||||||
|
/* Enable for double and long double once x86 and x86-64
|
||||||
|
implementations are fixed. */
|
||||||
|
TEST_f_f (tan, 0x1p65, -0.04723648723590479467984142193L);
|
||||||
|
TEST_f_f (tan, -0x1p65, 0.04723648723590479467984142193L);
|
||||||
|
#endif
|
||||||
|
|
||||||
END (tan);
|
END (tan);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1518,14 +1518,16 @@ ldouble: 7
|
|||||||
# tan
|
# tan
|
||||||
Test "tan (pi/4) == 1":
|
Test "tan (pi/4) == 1":
|
||||||
double: 1
|
double: 1
|
||||||
|
float: 1
|
||||||
idouble: 1
|
idouble: 1
|
||||||
|
ifloat: 1
|
||||||
|
|
||||||
# tan_downward
|
# tan_downward
|
||||||
Test "tan_downward (1) == 1.5574077246549022305069748074583601730873":
|
Test "tan_downward (1) == 1.5574077246549022305069748074583601730873":
|
||||||
double: 1
|
double: 1
|
||||||
float: 1
|
float: 2
|
||||||
idouble: 1
|
idouble: 1
|
||||||
ifloat: 1
|
ifloat: 2
|
||||||
Test "tan_downward (10) == 0.6483608274590866712591249330098086768169":
|
Test "tan_downward (10) == 0.6483608274590866712591249330098086768169":
|
||||||
float: 1
|
float: 1
|
||||||
ifloat: 1
|
ifloat: 1
|
||||||
@ -1569,6 +1571,8 @@ Test "tan_tonearest (1) == 1.5574077246549022305069748074583601730873":
|
|||||||
ildouble: 1
|
ildouble: 1
|
||||||
ldouble: 1
|
ldouble: 1
|
||||||
Test "tan_tonearest (2) == -2.1850398632615189916433061023136825434320":
|
Test "tan_tonearest (2) == -2.1850398632615189916433061023136825434320":
|
||||||
|
float: 1
|
||||||
|
ifloat: 1
|
||||||
ildouble: 1
|
ildouble: 1
|
||||||
ldouble: 1
|
ldouble: 1
|
||||||
Test "tan_tonearest (6) == -0.2910061913847491570536995888681755428312":
|
Test "tan_tonearest (6) == -0.2910061913847491570536995888681755428312":
|
||||||
@ -1629,6 +1633,8 @@ ldouble: 1
|
|||||||
|
|
||||||
# tan_upward
|
# tan_upward
|
||||||
Test "tan_upward (1) == 1.5574077246549022305069748074583601730873":
|
Test "tan_upward (1) == 1.5574077246549022305069748074583601730873":
|
||||||
|
float: 1
|
||||||
|
ifloat: 1
|
||||||
ildouble: 1
|
ildouble: 1
|
||||||
ldouble: 1
|
ldouble: 1
|
||||||
Test "tan_upward (10) == 0.6483608274590866712591249330098086768169":
|
Test "tan_upward (10) == 0.6483608274590866712591249330098086768169":
|
||||||
@ -2334,17 +2340,21 @@ ldouble: 27
|
|||||||
|
|
||||||
Function: "tan":
|
Function: "tan":
|
||||||
double: 1
|
double: 1
|
||||||
idouble: 1
|
|
||||||
|
|
||||||
Function: "tan_downward":
|
|
||||||
double: 1
|
|
||||||
float: 1
|
float: 1
|
||||||
idouble: 1
|
idouble: 1
|
||||||
ifloat: 1
|
ifloat: 1
|
||||||
|
|
||||||
|
Function: "tan_downward":
|
||||||
|
double: 1
|
||||||
|
float: 2
|
||||||
|
idouble: 1
|
||||||
|
ifloat: 2
|
||||||
ildouble: 1
|
ildouble: 1
|
||||||
ldouble: 1
|
ldouble: 1
|
||||||
|
|
||||||
Function: "tan_tonearest":
|
Function: "tan_tonearest":
|
||||||
|
float: 1
|
||||||
|
ifloat: 1
|
||||||
ildouble: 1
|
ildouble: 1
|
||||||
ldouble: 1
|
ldouble: 1
|
||||||
|
|
||||||
|
@ -1,55 +0,0 @@
|
|||||||
/*
|
|
||||||
* Written by J.T. Conklin <jtc@netbsd.org>.
|
|
||||||
* Fixed errno handling by Ulrich Drepper <drepper@redhat.com>.
|
|
||||||
* Public domain.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define __need_Emath
|
|
||||||
#include <bits/errno.h>
|
|
||||||
#include <machine/asm.h>
|
|
||||||
|
|
||||||
RCSID("$NetBSD: s_tanf.S,v 1.3 1995/05/09 00:31:09 jtc Exp $")
|
|
||||||
|
|
||||||
ENTRY(__tanf)
|
|
||||||
flds 4(%esp)
|
|
||||||
fxam
|
|
||||||
fstsw %ax
|
|
||||||
movb $0x45, %dh
|
|
||||||
andb %ah, %dh
|
|
||||||
cmpb $0x05, %dh
|
|
||||||
je 3f
|
|
||||||
4: fptan
|
|
||||||
fnstsw %ax
|
|
||||||
testl $0x400,%eax
|
|
||||||
jnz 1f
|
|
||||||
fstp %st(0)
|
|
||||||
ret
|
|
||||||
1: fldpi
|
|
||||||
fadd %st(0)
|
|
||||||
fxch %st(1)
|
|
||||||
2: fprem1
|
|
||||||
fstsw %ax
|
|
||||||
testl $0x400,%eax
|
|
||||||
jnz 2b
|
|
||||||
fstp %st(1)
|
|
||||||
fptan
|
|
||||||
fstp %st(0)
|
|
||||||
ret
|
|
||||||
3:
|
|
||||||
#ifdef PIC
|
|
||||||
pushl %ebx
|
|
||||||
cfi_adjust_cfa_offset (4)
|
|
||||||
cfi_rel_offset (ebx, 0)
|
|
||||||
LOAD_PIC_REG (bx)
|
|
||||||
call __errno_location@PLT
|
|
||||||
movl $EDOM, (%eax)
|
|
||||||
popl %ebx
|
|
||||||
cfi_adjust_cfa_offset (-4)
|
|
||||||
cfi_restore (ebx)
|
|
||||||
#else
|
|
||||||
call __errno_location@PLT
|
|
||||||
movl $EDOM, (%eax)
|
|
||||||
#endif
|
|
||||||
jmp 4b
|
|
||||||
END (__tanf)
|
|
||||||
weak_alias (__tanf, tanf)
|
|
Loading…
Reference in New Issue
Block a user