numeric::info(info_flags::nonnegative) returns true for an arbitrary
complex number with non-zero imaginary part.
Thanks to Burcin Erocal for reporting.
<< " erroneously not recognized as complex rational" << endl;
++result;
}
+ if (test_crat.info(info_flags::nonnegative)) {
+ clog << test_crat
+ << " erroneously recognized as non-negative number" << endl;
+ ++result;
+ }
int i = numeric(1984).to_int();
if (i-1984) {
case info_flags::negative:
return is_negative();
case info_flags::nonnegative:
- return !is_negative();
+ return is_zero() || is_positive();
case info_flags::posint:
return is_pos_integer();
case info_flags::negint: