Mercurial > octave
changeset 31981:61bf59bcde72
Improve display of mixed complex scalar values with NaN and an integer.
* pr-output.cc (make_complex_scalar_format): Change "int_only" variable
to include NaN as an "integer" for display purposes (NaN has no trailing
decimals so this makes sense).
author | Rik <rik@octave.org> |
---|---|
date | Fri, 07 Apr 2023 13:37:16 -0700 |
parents | b6ba853c70d6 |
children | ff1fed5bf218 |
files | libinterp/corefcn/pr-output.cc |
diffstat | 1 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/corefcn/pr-output.cc Fri Apr 07 13:26:33 2023 -0700 +++ b/libinterp/corefcn/pr-output.cc Fri Apr 07 13:37:16 2023 -0700 @@ -896,10 +896,12 @@ T rp = c.real (); T ip = c.imag (); - bool inf_or_nan = (octave::math::isinf (c) || octave::math::isnan (c)); - - bool int_only = (octave::math::x_nint (rp) == rp - && octave::math::x_nint (ip) == ip); + bool r_inf_or_nan = (octave::math::isinf (rp) || octave::math::isnan (rp)); + bool i_inf_or_nan = (octave::math::isinf (ip) || octave::math::isnan (ip)); + bool inf_or_nan = r_inf_or_nan || i_inf_or_nan; + + bool int_only = ((r_inf_or_nan || octave::math::x_nint (rp) == rp) + && (i_inf_or_nan || octave::math::x_nint (ip) == ip)); T r_abs = (rp < 0 ? -rp : rp); T i_abs = (ip < 0 ? -ip : ip);