help-octave
[Top][All Lists]

## 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:
|
| #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.'
| 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
-------------------------------------------------------------

```