Mercurial > hg > octave-nkf
changeset 5387:5b00a8beb504
[project @ 2005-06-14 17:13:45 by jwe]
author | jwe |
---|---|
date | Tue, 14 Jun 2005 17:13:45 +0000 |
parents | f64ec7b38586 |
children | 7099eb9841b4 |
files | liboctave/CMatrix.cc liboctave/CNDArray.cc liboctave/ChangeLog liboctave/dMatrix.cc liboctave/dNDArray.cc |
diffstat | 5 files changed, 28 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/liboctave/CMatrix.cc +++ b/liboctave/CMatrix.cc @@ -2607,12 +2607,10 @@ double r_val = std::real (val); double i_val = std::imag (val); - if ((! octave_is_NaN_or_NA (r_val) - && ! xisinf (r_val) - && (r_val > FLT_MAX || r_val < FLT_MIN)) - || (! octave_is_NaN_or_NA (i_val) - && ! xisinf (i_val) - && (i_val > FLT_MAX || i_val < FLT_MIN))) + if ((! (octave_is_NaN_or_NA (r_val) || xisinf (r_val)) + && fabs (r_val) > FLT_MAX) + || (! (octave_is_NaN_or_NA (i_val) || xisinf (i_val)) + && fabs (i_val) > FLT_MAX)) return true; }
--- a/liboctave/CNDArray.cc +++ b/liboctave/CNDArray.cc @@ -594,10 +594,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) || xisinf (r_val)) + && fabs (r_val) > FLT_MAX) + || (! (octave_is_NaN_or_NA (i_val) || xisinf (i_val)) + && fabs (i_val) > FLT_MAX)) return true; }
--- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -1,12 +1,24 @@ 2005-06-14 John W. Eaton <jwe@octave.org> - * dMatrix.cc (Matrix::too_large_for_float): Special case Inf values too. - * CMatrix.cc (ComplexMatrix::too_large_for_float): Ditto. + * dMatrix.cc (Matrix::too_large_for_float): Only check if abs + value is greater than FLT_MAX. + * CMatrix.cc (ComplexMatrix::too_large_for_float): Ditto. + * dNDArray.cc (NDArray::too_large_for_float): Ditto. + * CNDArray.cc (ComplexNDArray::too_large_for_float): Ditto. + + * dMatrix.cc (Matrix::too_large_for_float): Special case Inf + values too. + * CMatrix.cc (ComplexMatrix::too_large_for_float): Ditto. + + * dNDArray.cc (NDArray::too_large_for_float): Likewise for NaN, + NA, Inf values. + * CNDArray.cc (ComplexNDArray::too_large_for_float): Ditto. 2005-06-14 David Bateman <dbateman@free.fr> - * dMatrix.cc (Matrix::too_large_for_float): Special case NaN and NA values. - * CMatrix.cc (ComplexMatrix::too_large_for_float): Ditto. + * 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 <jwe@octave.org>