[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-gnulib] kernel_sinl bug?
From: |
Bruno Haible |
Subject: |
Re: [bug-gnulib] kernel_sinl bug? |
Date: |
Wed, 22 Nov 2006 19:21:02 +0100 |
User-agent: |
KMail/1.9.1 |
Robinson Mittmann wrote:
> Looking at the "kernel_sinl" function in "sincosl.c" file I found that
> the limit value for choosing the computation method is wrong with
> respect of the remaining code:
>
> kernel_sinl (long double x, long double y, int iy)
> {
> ...
> if (x < 0.148375L) /* |x| < 0.1484375 */
>
> The correct line should be:
>
> if (x < 0.1484375L) /* |x| < 0.1484375 */
Thanks, this is indeed a typo in the code (since the comments agree with the
value that the current glibc sources use). I've applied your fix.
> Probably a better approach would be defining this limit as a macro.
It would be, if this code was under heavy development.
Bruno
2006-11-22 Robinson Mittmann <address@hidden> (tiny change)
* lib/sincosl.c (kernel_sinl): Fix typo in threshold.
*** lib/sincosl.c 14 May 2005 06:03:58 -0000 1.3
--- lib/sincosl.c 22 Nov 2006 18:23:16 -0000
***************
*** 1,5 ****
/* Quad-precision floating point trigonometric functions on <-pi/4,pi/4>.
! Copyright (C) 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <address@hidden>
--- 1,5 ----
/* Quad-precision floating point trigonometric functions on <-pi/4,pi/4>.
! Copyright (C) 1999, 2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <address@hidden>
***************
*** 113,119 ****
sign = -1;
}
! if (x < 0.148375L) /* |x| < 0.1484375 */
{
/* Argument is small enough to approximate it by a Chebyshev
polynomial of degree 17. */
--- 113,119 ----
sign = -1;
}
! if (x < 0.1484375L) /* |x| < 0.1484375 */
{
/* Argument is small enough to approximate it by a Chebyshev
polynomial of degree 17. */
- kernel_sinl bug?, Robinson Mittmann, 2006/11/22
- Re: [bug-gnulib] kernel_sinl bug?,
Bruno Haible <=