[ia64-tools] Re: A glibc ia64 patch for math
Andreas Jaeger
aj@suse.de
Thu Sep 21 08:01:00 GMT 2000
>>>>> H J Lu writes:
> On Thu, Sep 21, 2000 at 09:04:41AM +0200, Andreas Jaeger wrote:
>> >>>>> H J Lu writes:
>>
HJ> With this patch, I only got
HJ> make[2]: *** [/home/work/build/glibc/math/test-ldouble.out] Error 1
HJ> make[2]: *** [/home/work/build/glibc/math/test-ildoubl.out] Error 1
>>
HJ> for "make check" on ia64. Those long double functions are not
HJ> implemented. I assume we will get them in libm from Intel. With all
>> Which functions are missing? I might be able to handle that in the
>> tests.
>>
> Here is the list. I hope I didn't miss anything.
> Thanks.
> H.J.
> ---
> __atanl not implemented
> __erfcl not implemented
> __erfl not implemented
> __expm1l not implemented
> __ieee754_acosl not implemented
> __ieee754_asinl not implemented
> __ieee754_exp2l not implemented
> __ieee754_expl not implemented
> __ieee754_fmodl not implemented
> __ieee754_j0l not implemented
> __ieee754_j1l not implemented
> __ieee754_jnl not implemented
> __ieee754_lgammal_r not implemented
> __ieee754_log10l not implemented
> __ieee754_logl not implemented
> __ieee754_powl not implemented
> __ieee754_rem_pio2l not implemented
> __ieee754_sqrtl not implemented
> __ieee754_y0l not implemented
> __ieee754_y1l not implemented
> __ieee754_ynl not implemented
> __kernel_cosl not implemented
> __kernel_sinl not implemented
> __kernel_tanl not implemented
> __log1pl not implemented
> __log2l not implemented
Here's a patch - I'll commit it later. Please test it and tell me if
this fixes the issues. I hope I didn't introduce any copy&paste
errors :-(.
Andreas
2000-09-21 Andreas Jaeger <aj@suse.de>
* math/libm-test.inc (atan_test):
(expm1_test): Likewise.
(acos_test): Likewise.
(asin_test): Likewise.
(exp_test): Likewise.
(fmod_test): Likewise.
(log10_test): Likewise.
(log_test): Likewise.
(pow_test): Likewise.
(sqrt_test): Likewise.
(cos_test): Likewise.
(sin_test): Likewise.
(tan_test): Likewise.
(log1p_test): Likewise.
(log2_test): Likewise.
============================================================
Index: math/libm-test.inc
--- math/libm-test.inc 2000/06/21 05:53:50 1.12
+++ math/libm-test.inc 2000/09/21 15:00:01
@@ -693,6 +693,12 @@
static void
acos_test (void)
{
+ errno = 0;
+ FUNC(acos) (0);
+ if (errno == ENOSYS)
+ /* Function not implemented. */
+ return;
+
START (acos);
TEST_f_f (acos, plus_infty, nan_value, INVALID_EXCEPTION);
@@ -734,6 +740,11 @@
static void
asin_test (void)
{
+ errno = 0;
+ FUNC(asin) (0);
+ if (errno == ENOSYS)
+ /* Function not implemented. */
+ return;
START (asin);
@@ -776,6 +787,11 @@
static void
atan_test (void)
{
+ errno = 0;
+ FUNC(atan) (0);
+ if (errno == ENOSYS)
+ /* Function not implemented. */
+ return;
START (atan);
@@ -1749,6 +1765,12 @@
static void
cos_test (void)
{
+ errno = 0;
+ FUNC(cos) (0);
+ if (errno == ENOSYS)
+ /* Function not implemented. */
+ return;
+
START (cos);
TEST_f_f (cos, 0, 1);
@@ -2185,6 +2207,12 @@
static void
exp_test (void)
{
+ errno = 0;
+ FUNC(exp) (0);
+ if (errno == ENOSYS)
+ /* Function not implemented. */
+ return;
+
START (exp);
TEST_f_f (exp, 0, 1);
@@ -2260,6 +2288,12 @@
static void
expm1_test (void)
{
+ errno = 0;
+ FUNC(expm1) (0);
+ if (errno == ENOSYS)
+ /* Function not implemented. */
+ return;
+
START (expm1);
TEST_f_f (expm1, 0, 0);
@@ -2451,6 +2485,11 @@
static void
fmod_test (void)
{
+ errno = 0;
+ FUNC(fmod) (0, 0);
+ if (errno == ENOSYS)
+ /* Function not implemented. */
+ return;
START (fmod);
@@ -2880,6 +2919,11 @@
static void
log_test (void)
{
+ errno = 0;
+ FUNC(log) (1);
+ if (errno == ENOSYS)
+ /* Function not implemented. */
+ return;
START (log);
TEST_f_f (log, 0, minus_infty, DIVIDE_BY_ZERO_EXCEPTION);
@@ -2903,6 +2947,12 @@
static void
log10_test (void)
{
+ errno = 0;
+ FUNC(log10) (1);
+ if (errno == ENOSYS)
+ /* Function not implemented. */
+ return;
+
START (log10);
TEST_f_f (log10, 0, minus_infty, DIVIDE_BY_ZERO_EXCEPTION);
@@ -2930,6 +2980,12 @@
static void
log1p_test (void)
{
+ errno = 0;
+ FUNC(log1p) (0);
+ if (errno == ENOSYS)
+ /* Function not implemented. */
+ return;
+
START (log1p);
TEST_f_f (log1p, 0, 0);
@@ -2952,6 +3008,12 @@
static void
log2_test (void)
{
+ errno = 0;
+ FUNC(log2) (1);
+ if (errno == ENOSYS)
+ /* Function not implemented. */
+ return;
+
START (log2);
TEST_f_f (log2, 0, minus_infty, DIVIDE_BY_ZERO_EXCEPTION);
@@ -3167,6 +3229,12 @@
pow_test (void)
{
+ errno = 0;
+ FUNC(pow) (0, 0);
+ if (errno == ENOSYS)
+ /* Function not implemented. */
+ return;
+
START (pow);
TEST_ff_f (pow, 0, 0, 1);
@@ -3546,6 +3614,12 @@
static void
sin_test (void)
{
+ errno = 0;
+ FUNC(sin) (0);
+ if (errno == ENOSYS)
+ /* Function not implemented. */
+ return;
+
START (sin);
TEST_f_f (sin, 0, 0);
@@ -3608,6 +3682,12 @@
static void
sqrt_test (void)
{
+ errno = 0;
+ FUNC(sqrt) (1);
+ if (errno == ENOSYS)
+ /* Function not implemented. */
+ return;
+
START (sqrt);
TEST_f_f (sqrt, 0, 0);
@@ -3635,6 +3715,12 @@
static void
tan_test (void)
{
+ errno = 0;
+ FUNC(tan) (0);
+ if (errno == ENOSYS)
+ /* Function not implemented. */
+ return;
+
START (tan);
TEST_f_f (tan, 0, 0);
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj
More information about the Libc-hacker
mailing list