Mercurial > octave-nkf
changeset 5450:6b42c78c77d3
[project @ 2005-09-15 15:36:26 by jwe]
author | jwe |
---|---|
date | Thu, 15 Sep 2005 15:36:26 +0000 |
parents | 7332a98b6de7 |
children | ed08548b9054 |
files | src/ChangeLog src/ov-complex.cc src/ov-cx-mat.cc |
diffstat | 3 files changed, 13 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Wed Sep 14 19:12:50 2005 +0000 +++ b/src/ChangeLog Thu Sep 15 15:36:26 2005 +0000 @@ -1,3 +1,10 @@ +2005-09-14 John W. Eaton <jwe@octave.org> + + * ov-complex.cc (octave_complex::try_narrowing_conversion): + Don't drop -0i. + * ov-cx-mat.cc (octave_complex_matrix::try_narrowing_conversion): + Likewise. + 2005-09-14 Daniel <durbano@shbano.com> * DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/chol.cc,
--- a/src/ov-complex.cc Wed Sep 14 19:12:50 2005 +0000 +++ b/src/ov-complex.cc Thu Sep 15 15:36:26 2005 +0000 @@ -56,7 +56,9 @@ { octave_value *retval = 0; - if (imag (scalar) == 0.0) + double im = std::imag (scalar); + + if (im == 0.0 && ! lo_ieee_signbit (im)) retval = new octave_scalar (real (scalar)); return retval;
--- a/src/ov-cx-mat.cc Wed Sep 14 19:12:50 2005 +0000 +++ b/src/ov-cx-mat.cc Thu Sep 15 15:36:26 2005 +0000 @@ -74,7 +74,9 @@ { Complex c = matrix (0, 0); - if (std::imag (c) == 0.0) + double im = std::imag (c); + + if (im == 0.0 && ! lo_ieee_signbit (im)) retval = new octave_scalar (std::real (c)); else retval = new octave_complex (c);