I'm trying to check if a std::complex
number that is a result of a fourier transform (using http://fftw.org/) contains a NaN
in either the real or imag part.
I'm using Borland C++, so I don't have access to std::isnan
. I have tried to check if the number is NaN
by comparing it to itself:
(n.imag() != n.imag())
However, as soon as I call the n.imag()
or std::imag(n)
, I get a "floating point invalid operation".
Is there any way to validate if a std::complex
is good; if it contains a NaN
?
I found out that Borland has its own math library. So if you want to avoid floating point errors, use IsNan from Borlands Math.