comparison src/pr-output.cc @ 9611:6f42ea240b3a

pr-output.cc (set_format (const Complex&, int&, int&)): avoid passing NaN or Inf to log10
author John W. Eaton <jwe@octave.org>
date Thu, 03 Sep 2009 17:28:58 -0400
parents ddcc0da700b8
children 66970dd627f6
comparison
equal deleted inserted replaced
9610:bb36a5730ecc 9611:6f42ea240b3a
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)