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	Tue Feb 24 04:34:24 2009 -0500
+++ b/src/ChangeLog	Tue Feb 24 11:11:40 2009 +0100
@@ -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	Tue Feb 24 04:34:24 2009 -0500
+++ b/src/ov-float.h	Tue Feb 24 11:11:40 2009 +0100
@@ -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	Tue Feb 24 04:34:24 2009 -0500
+++ b/src/ov-scalar.h	Tue Feb 24 11:11:40 2009 +0100
@@ -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); }