D - complex comparison
- Robert (12/12) Dec 05 2003 Complex numbers cannot be ordered if they have imaginary parts.
Complex numbers cannot be ordered if they have imaginary parts.
However, following program outputs "a > b" and "b !> a",
i.e. a and b are ordered as "a > b".
cdouble a = 1 + 2i, b = 2 + 3i;
if(a > b) puts("a > b"); else puts("a !> b");
if(b > a) puts("b > a"); else puts("b !> a");
I've examined the behaviors in several cases, I guess then that
"a > b" means "a.im < b.im || (a.im == b.im && a.re < b.re)".
I wonder why such a confusing comparison method is used.
I suggest that complex numbers shouldn't be ordered as NaN.
(But, I think that pure imaginary numbers can be ordered as now.)
Robert (Japanese)
Dec 05 2003








Robert <no span.ne.jp>