public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libc/10355] New: cabs(z) == nan if z = inf + j * nan
@ 2009-07-01  9:55 cournape at gmail dot com
  2009-10-30  6:29 ` [Bug libc/10355] " drepper at redhat dot com
  0 siblings, 1 reply; 3+ messages in thread
From: cournape at gmail dot com @ 2009-07-01  9:55 UTC (permalink / raw)
  To: glibc-bugs

Hi,

I came across the following when using cabs and the glibc:

#define _ISOC99_SOURCE

#include <complex.h>
#include <stdio.h>
#include <math.h>

int main(void)
{
        complex z;
        double x, y;

        x = INFINITY;
        y = NAN;

        z = x + I * y;

        printf("%f\n", cabs(z));
        printf("%f\n", hypot(x, y));
        return 0;
}

This prints:
nan
inf

I believe that cabs behavior is incorrect in this case if I read the C99
standard correctly (Section G 6.6 from the committee draft of september 2007):

"
Each of the functions cabs and carg is specified by a formula in terms of a real
function (whose special cases are covered in annex F):
       cabs(x + iy) = hypot(x, y)
       carg(x + iy) = atan2(y, x)
"

glibc version: 2.8
gcc version: 4.3.2

-- 
           Summary: cabs(z) == nan if z = inf + j * nan
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
        AssignedTo: drepper at redhat dot com
        ReportedBy: cournape at gmail dot com
                CC: glibc-bugs at sources dot redhat dot com


http://sourceware.org/bugzilla/show_bug.cgi?id=10355

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug libc/10355] cabs(z) == nan if z = inf + j * nan
  2009-07-01  9:55 [Bug libc/10355] New: cabs(z) == nan if z = inf + j * nan cournape at gmail dot com
@ 2009-10-30  6:29 ` drepper at redhat dot com
  0 siblings, 0 replies; 3+ messages in thread
From: drepper at redhat dot com @ 2009-10-30  6:29 UTC (permalink / raw)
  To: glibc-bugs


------- Additional Comments From drepper at redhat dot com  2009-10-30 06:29 -------
Have you even looked at the variable z?  It's value is (NaN,Nan), not (Inf,NaN).
 If you'd use correct code to initialize the variable it would work as expected.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |INVALID


http://sourceware.org/bugzilla/show_bug.cgi?id=10355

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug libc/10355] cabs(z) == nan if z = inf + j * nan
       [not found] <bug-10355-131@http.sourceware.org/bugzilla/>
@ 2014-07-01  7:53 ` fweimer at redhat dot com
  0 siblings, 0 replies; 3+ messages in thread
From: fweimer at redhat dot com @ 2014-07-01  7:53 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=10355

Florian Weimer <fweimer at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
              Flags|                            |security-

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-07-01  7:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-07-01  9:55 [Bug libc/10355] New: cabs(z) == nan if z = inf + j * nan cournape at gmail dot com
2009-10-30  6:29 ` [Bug libc/10355] " drepper at redhat dot com
     [not found] <bug-10355-131@http.sourceware.org/bugzilla/>
2014-07-01  7:53 ` fweimer at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).