# HG changeset patch # User John W. Eaton # Date 1252040384 -7200 # Node ID bd994ce2015862fc1857af5c6ab2a67a9d8d88bb # Parent 2dbd6188b7897645a75066c238682c3a5f84b4ee pr-output.cc (set_format (const Complex&, int&, int&)): avoid passing NaN or Inf to log10 diff --git a/src/ChangeLog b/src/ChangeLog --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2009-09-03 John W. Eaton + + * pr-output.cc (set_format (const Complex&, int&, int&)): + Avoid passing NaN or Inf to log10. + 2008-09-01 David Bateman * DLD-FUNCTIONS/eig.cc (Feigs): Correct nesting error in option diff --git a/src/pr-output.cc b/src/pr-output.cc --- a/src/pr-output.cc +++ b/src/pr-output.cc @@ -852,10 +852,10 @@ double r_abs = rp < 0.0 ? -rp : rp; double i_abs = ip < 0.0 ? -ip : ip; - int r_x = r_abs == 0.0 + int r_x = (xisinf (rp) || xisnan (rp) || xr_abs == 0.0) ? 0 : static_cast (floor (log10 (r_abs) + 1.0)); - int i_x = i_abs == 0.0 + int i_x = (xisinf (ip) || xisnan (ip) || i_abs == 0.0) ? 0 : static_cast (floor (log10 (i_abs) + 1.0)); int x_max, x_min;