Hi,
I'm trying to create complex number expressions that contain inf or nan in
the imaginary part. I.e. (0 + inf I) or (0 + nan I).
However when I write (_builtin_nan("") * 1.0i) I get (nan + nan I). For
(__builtin_inf() * 1.0i) I get (nan + inf I).
I don't think these results are a bug, rather it's just an artifact of the
way complex multiplcation is done and having these special values in
there. I had a similar problem getting negative zeros in the imaginary
part, but I solved that using conj(0.0) and conj(-0.0). I don't think
conj helps for inf/nan though.
I know I can simply use a complex variable and set the real/imag parts
separately, but I want a constant expression which I can pass as an
argument to a builtin complex math function for writing testcases that
fold (or not) and compile-time.
Is there a way to get an imaginary inf or nan expression without having
the real part get changed?
Thanks,
--Kaveh
--
Kaveh R. Ghazi [email protected]