# HG changeset patch # User jwe # Date 1096660780 0 # Node ID 3914c4ad3ffab91fb7cc5c064476a932329b89cf # Parent b2ce2871379149b32c0388dec78f2a91c65fafd1 [project @ 2004-10-01 19:59:40 by jwe] diff -r b2ce28713791 -r 3914c4ad3ffa src/ChangeLog --- a/src/ChangeLog Fri Oct 01 18:12:11 2004 +0000 +++ b/src/ChangeLog Fri Oct 01 19:59:40 2004 +0000 @@ -1,3 +1,11 @@ +2004-10-01 John W. Eaton + + * ov-range.h (octave_range::valid_as_scalar_index): Ensure int value. + (octave_range::valid_as_zero_index): Likewise. + + * ov-scalar.h (octave_scalar::valid_as_scalar_index): Ensure int value. + (octave_scalar::valid_as_zero_index): Likewise. + 2004-09-24 John W. Eaton * version.h (OCTAVE_VERSION): Now 2.1.60. diff -r b2ce28713791 -r 3914c4ad3ffa src/ov-range.h --- a/src/ov-range.h Fri Oct 01 18:12:11 2004 +0000 +++ b/src/ov-range.h Fri Oct 01 19:59:40 2004 +0000 @@ -130,16 +130,16 @@ bool valid_as_scalar_index (void) const { + double b = range.base (); return (range.nelem () == 1 - && ! xisnan (range.base ()) - && NINT (range.base ()) == 1); + && ! xisnan (b) && D_NINT (b) == b && NINT (b) == 1); } bool valid_as_zero_index (void) const { + double b = range.base (); return (range.nelem () == 1 - && ! xisnan (range.base ()) - && NINT (range.base ()) == 0); + && ! xisnan (b) && D_NINT (b) == b && NINT (b) == 0); } bool is_numeric_type (void) const { return true; } diff -r b2ce28713791 -r 3914c4ad3ffa src/ov-scalar.h --- a/src/ov-scalar.h Fri Oct 01 18:12:11 2004 +0000 +++ b/src/ov-scalar.h Fri Oct 01 19:59:40 2004 +0000 @@ -82,10 +82,18 @@ bool is_real_type (void) const { return true; } bool valid_as_scalar_index (void) const - { return (! xisnan (scalar) && NINT (scalar) == 1); } + { + return (! xisnan (scalar) + && D_NINT (scalar) == scalar + && NINT (scalar) == 1); + } bool valid_as_zero_index (void) const - { return (! xisnan (scalar) && NINT (scalar) == 0); } + { + return (! xisnan (scalar) + && D_NINT (scalar) == scalar + && NINT (scalar) == 0); + } double double_value (bool = false) const { return scalar; }