help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: sqrt function, NaN and complex number


From: John W. Eaton
Subject: Re: sqrt function, NaN and complex number
Date: Fri, 10 Dec 2004 15:33:47 -0500

On 10-Dec-2004, Dmitri A. Sergatskov <address@hidden> wrote:

| John W. Eaton wrote:
| 
| > 
| > In any case, I don't think it is really a bug in Octave.
| > 
| > What happens if you try a simple C++ program to test sqrt(NaN+NaN*i)?
| > 
| 
| That does seems to work OK:
| 
| address@hidden divzero]$ cat test4.cc
| #include <complex>
| #include <iostream>
| 
| int main()
| {
|    std::complex<double> z1(1.0/0.0,1.0/0.0);
|    std::complex<double> z2 = std::sqrt(z1);
|    std::complex<double> z3 = std::sqrt(z2);
| 
|    std::cout
|          << "z1: " << z1 << std::endl
|          << "z2: " << z2 << std::endl
|          << "z3: " << z3 << std::endl;
|    return 0;
| }
| 
| address@hidden divzero]$ g++ -Wall -o test4 test4.cc
| test4.cc: In function `int main()':
| test4.cc:6: warning: division by zero in `1.0e+0 / 0.'
| test4.cc:6: warning: division by zero in `1.0e+0 / 0.'
| address@hidden divzero]$ ./test4
| z1: (inf,inf)
| z2: (nan,nan)
| z3: (nan,nan)
| 
| Using gcc 3.4.2

OK.  The other thing to do is run Octave with gdb, then execute the
code that causes the (apparent) infinite loop, then get a backtrace to
see where it is looping.

jwe



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]