# HG changeset patch # User jwe # Date 1118765043 0 # Node ID 5f48f2956e3722012d22560b3c0241684de9c6c4 # Parent 8df6524b95002990a5aa01c55ee9174d30352655 [project @ 2005-06-14 16:04:03 by jwe] diff -r 8df6524b9500 -r 5f48f2956e37 liboctave/CMatrix.cc --- a/liboctave/CMatrix.cc Thu Jun 09 21:06:28 2005 +0000 +++ b/liboctave/CMatrix.cc Tue Jun 14 16:04:03 2005 +0000 @@ -2607,10 +2607,10 @@ double r_val = std::real (val); double i_val = std::imag (val); - if (r_val > FLT_MAX - || i_val > FLT_MAX - || r_val < FLT_MIN - || i_val < FLT_MIN) + if ((! octave_is_NaN_or_NA (r_val) + && (r_val > FLT_MAX || r_val < FLT_MIN)) + || (! octave_is_NaN_or_NA (i_val) + && (i_val > FLT_MAX || i_val < FLT_MIN))) return true; } diff -r 8df6524b9500 -r 5f48f2956e37 liboctave/ChangeLog --- a/liboctave/ChangeLog Thu Jun 09 21:06:28 2005 +0000 +++ b/liboctave/ChangeLog Tue Jun 14 16:04:03 2005 +0000 @@ -1,3 +1,8 @@ +2005-06-14 David Bateman + + * dMatrix.cc (Matrix::too_large_for_float): Special case NaN and NA values. + * CMatrix.cc (ComplexMatrix::too_large_for_float): Ditto. + 2005-06-02 John W. Eaton * Array.cc (assignN): Try harder to correctly resize previously diff -r 8df6524b9500 -r 5f48f2956e37 liboctave/dMatrix.cc --- a/liboctave/dMatrix.cc Thu Jun 09 21:06:28 2005 +0000 +++ b/liboctave/dMatrix.cc Tue Jun 14 16:04:03 2005 +0000 @@ -2114,7 +2114,7 @@ { double val = elem (i); - if (val > FLT_MAX || val < FLT_MIN) + if (! octave_is_NaN_or_NA (val) && (val > FLT_MAX || val < FLT_MIN)) return true; }