Mercurial > hg > octave-lyh
changeset 8854:97d146d1648b
add missing scalar->int scalar conversions
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Tue, 24 Feb 2009 11:11:40 +0100 |
parents | 9df4c9c94862 |
children | a909d8c01adf |
files | src/ChangeLog src/ov-float.h src/ov-scalar.h |
diffstat | 3 files changed, 54 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,25 @@ +2009-02-24 Jaroslav Hajek <highegg@gmail.com> + + * ov-scalar.h + (octave_scalar::int8_scalar_value): New method. + (octave_scalar::int16_scalar_value): New method. + (octave_scalar::int32_scalar_value): New method. + (octave_scalar::int64_scalar_value): New method. + (octave_scalar::uint8_scalar_value): New method. + (octave_scalar::uint16_scalar_value): New method. + (octave_scalar::uint32_scalar_value): New method. + (octave_scalar::uint64_scalar_value): New method. + + * ov-float.h + (octave_float_scalar::int8_scalar_value): New method. + (octave_float_scalar::int16_scalar_value): New method. + (octave_float_scalar::int32_scalar_value): New method. + (octave_float_scalar::int64_scalar_value): New method. + (octave_float_scalar::uint8_scalar_value): New method. + (octave_float_scalar::uint16_scalar_value): New method. + (octave_float_scalar::uint32_scalar_value): New method. + (octave_float_scalar::uint64_scalar_value): New method. + 2009-02-24 John W. Eaton <jwe@octave.org> * OPERATORS/op-float-conv.cc: New file.
--- a/src/ov-float.h +++ b/src/ov-float.h @@ -122,6 +122,22 @@ uint64_array_value (void) const { return uint64NDArray (dim_vector (1, 1), scalar); } +#define DEFINE_INT_SCALAR_VALUE(TYPE) \ + octave_ ## TYPE \ + TYPE ## _scalar_value (void) const \ + { return octave_ ## TYPE (scalar); } + + DEFINE_INT_SCALAR_VALUE (int8) + DEFINE_INT_SCALAR_VALUE (int16) + DEFINE_INT_SCALAR_VALUE (int32) + DEFINE_INT_SCALAR_VALUE (int64) + DEFINE_INT_SCALAR_VALUE (uint8) + DEFINE_INT_SCALAR_VALUE (uint16) + DEFINE_INT_SCALAR_VALUE (uint32) + DEFINE_INT_SCALAR_VALUE (uint64) + +#undef DEFINE_INT_SCALAR_VALUE + double double_value (bool = false) const { return static_cast<double> (scalar); } float float_value (bool = false) const { return scalar; }
--- a/src/ov-scalar.h +++ b/src/ov-scalar.h @@ -123,6 +123,22 @@ uint64_array_value (void) const { return uint64NDArray (dim_vector (1, 1), scalar); } +#define DEFINE_INT_SCALAR_VALUE(TYPE) \ + octave_ ## TYPE \ + TYPE ## _scalar_value (void) const \ + { return octave_ ## TYPE (scalar); } + + DEFINE_INT_SCALAR_VALUE (int8) + DEFINE_INT_SCALAR_VALUE (int16) + DEFINE_INT_SCALAR_VALUE (int32) + DEFINE_INT_SCALAR_VALUE (int64) + DEFINE_INT_SCALAR_VALUE (uint8) + DEFINE_INT_SCALAR_VALUE (uint16) + DEFINE_INT_SCALAR_VALUE (uint32) + DEFINE_INT_SCALAR_VALUE (uint64) + +#undef DEFINE_INT_SCALAR_VALUE + double double_value (bool = false) const { return scalar; } float float_value (bool = false) const { return static_cast<float> (scalar); }