Re: regression in tgamma?

Jeff Johnston via Newlib <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <CAOox84sB0dP7RL1wZs_VF2gwUXdikeDJEAmMOw+kCT2SC5vDPQ@mail.gmail.com>
Hi Paul,

I copied the newlib/libm/common directory and header files from master to a
separate directory and called __ieee754_tgamma directly in your test (adding
a declaration of __ieee754_tgamma as well).  I then built as follows:

gcc -g -O0 -I. -DNEWLIB  testtgamma.c e_tgamma.c e_exp.c k_sin.c math_err.c
er_lgamma.c k_cos.c s_floor.c e_log.c w_log.c

I get the same result as you get for 3.3.0.

Can you possibly recheck to see if your 4.0.0 library has been built
correctly?  Perhaps I have somehow by-passed the cause of the problem by
compiling directly.

-- Jeff J.

On Tue, Dec 15, 2020 at 8:36 AM Paul Zimmermann <[email protected]>
wrote:

>        Hi,
>
> while updating my comparison from Newlib 3.3.0 to Newlib 4.0.0, I found a
> regression in tgamma on x86_64/Linux:
>
> $ cat test3.c
> #include <stdio.h>
> #include <math.h>
>
> #ifdef NEWLIB
> int errno;
> int* __errno () { return &errno; }
> #endif
>
> int main()
> {
>   double x = -0x1.53f198fe3b278p+7, y;
>   y = tgamma (x);
>   printf ("x=%a y=%a\n", x, y);
> }
>
> Newlib 3.3.0:
> $ gcc -DNEWLIB -no-pie test3.c /localdisk/zimmerma/newlib-3.3.0/libm.a;
> ./a.out
> x=-0x1.53f198fe3b278p+7 y=0x1.fd6d312572d9cp-1015
>
> Newlib 4.0.0:
> $ gcc -DNEWLIB -no-pie test3.c /localdisk/zimmerma/newlib-4.0.0/libm.a;
> ./a.out
> x=-0x1.53f198fe3b278p+7 y=0x1p+0
>
> Please can someone confirm?
>
> Best regards,
> Paul
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.