Mercurial > octave
comparison src/pr-output.cc @ 12084:bd994ce20158 release-3-2-x
pr-output.cc (set_format (const Complex&, int&, int&)): avoid passing NaN or Inf to log10
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 04 Sep 2009 06:59:44 +0200 |
parents | ee264f77eaed |
children | 330cf1e13fb6 |
comparison
equal
deleted
inserted
replaced
12083:2dbd6188b789 | 12084:bd994ce20158 |
---|---|
850 bool int_only = (D_NINT (rp) == rp && D_NINT (ip) == ip); | 850 bool int_only = (D_NINT (rp) == rp && D_NINT (ip) == ip); |
851 | 851 |
852 double r_abs = rp < 0.0 ? -rp : rp; | 852 double r_abs = rp < 0.0 ? -rp : rp; |
853 double i_abs = ip < 0.0 ? -ip : ip; | 853 double i_abs = ip < 0.0 ? -ip : ip; |
854 | 854 |
855 int r_x = r_abs == 0.0 | 855 int r_x = (xisinf (rp) || xisnan (rp) || xr_abs == 0.0) |
856 ? 0 : static_cast<int> (floor (log10 (r_abs) + 1.0)); | 856 ? 0 : static_cast<int> (floor (log10 (r_abs) + 1.0)); |
857 | 857 |
858 int i_x = i_abs == 0.0 | 858 int i_x = (xisinf (ip) || xisnan (ip) || i_abs == 0.0) |
859 ? 0 : static_cast<int> (floor (log10 (i_abs) + 1.0)); | 859 ? 0 : static_cast<int> (floor (log10 (i_abs) + 1.0)); |
860 | 860 |
861 int x_max, x_min; | 861 int x_max, x_min; |
862 | 862 |
863 if (r_x > i_x) | 863 if (r_x > i_x) |