46 struct IIR_EXPORT ComplexPair : complex_pair_t
48 ComplexPair() =
default;
50 explicit ComplexPair (
const complex_t& c1)
51 : complex_pair_t (c1, 0.)
53 if (!isReal()) throw_invalid_argument(
"A single complex number needs to be real.");
56 ComplexPair (
const complex_t& c1,
58 : complex_pair_t (c1, c2)
64 return first.imag() == 0 && second.imag() == 0;
73 if (first.imag() != 0)
74 return second == std::conj (first);
76 return second.imag () == 0 &&
77 second.real () != 0 &&
83 return Iir::is_nan (first) || Iir::is_nan (second);