Mercurial > octave-nkf
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 {