Weslley S. Pereira, University of Colorado Denver, U.S. Real values for test:
(1) x = 2**m, where m = MINEXPONENT-DIGITS, ..., MINEXPONENT-1.
Mind that not all platforms might implement subnormal numbers.
(2) x = 2**m, where m = MINEXPONENT, ..., 0.
(3) x = OV, where OV is the overflow threshold. OV^2 overflows but the norm is OV.
(4) x = 2**m, where m = MAXEXPONENT-1, ..., 1.
Tests:
(a) y = x + 0 * I, y/y = 1
(b) y = 0 + x * I, y/y = 1
(c) y = x + x * I, y/y = 1
(d) y1 = 0 + x * I, y2 = x + 0 * I, y1/y2 = I
(e) y1 = 0 + x * I, y2 = x + 0 * I, y2/y1 = -I
(f) y = x + x * I, y/conj(y) = I
Special cases:
(i) Inf inputs:
(1) y = ( Inf + 0 * I)
(2) y = ( 0 + Inf * I)
(3) y = (-Inf + 0 * I)
(4) y = ( 0 - Inf * I)
(5) y = ( Inf + Inf * I)
Tests:
(a) 0 / y is either 0 or NaN.
(b) 1 / y is either 0 or NaN.
(c) y / y is NaN.
(n) NaN inputs:
(1) y = (NaN + 0 * I)
(2) y = (0 + NaN * I)
(3) y = (NaN + NaN * I)
Tests:
(a) 0 / y is NaN.
(b) 1 / y is NaN.
(c) y / y is NaN.