diff src/ov-range.cc @ 2410:367485171742

[project @ 1996-10-15 16:50:27 by jwe]
author jwe
date Tue, 15 Oct 1996 16:50:28 +0000
parents 2142216bf85a
children 2f50b24ce84f
line wrap: on
line diff
--- a/src/ov-range.cc	Tue Oct 15 16:44:26 1996 +0000
+++ b/src/ov-range.cc	Tue Oct 15 16:50:28 1996 +0000
@@ -35,6 +35,7 @@
 #include "ops.h"
 #include "ov-range.h"
 #include "ov-re-mat.h"
+#include "ov-scalar.h"
 #include "pr-output.h"
 
 int octave_range::t_id = -1;
@@ -49,12 +50,34 @@
   return new octave_matrix (v.matrix_value ());
 }
 
-octave_value::numeric_conv_fcn
+octave_value::type_conv_fcn
 octave_range::numeric_conversion_function (void) const
 {
   return default_numeric_conversion_function;
 }
 
+octave_value *
+octave_range::try_narrowing_conversion (void)
+{
+  octave_value *retval = 0;
+
+  switch (range.nelem ())
+    {
+    case 1:
+      retval = new octave_scalar (range.base ());
+      break;
+
+    case 0:
+      retval = new octave_matrix (Matrix ());
+      break;
+
+    default:
+      break;
+    }
+
+  return retval;
+}
+
 double
 octave_range::double_value (bool) const
 {