Mercurial > hg > octave-nkf
diff src/ov-str-mat.cc @ 4643:ef3a14fb6847
[project @ 2003-11-22 12:25:44 by jwe]
author | jwe |
---|---|
date | Sat, 22 Nov 2003 12:25:45 +0000 |
parents | d44675070f1a |
children | 7849788ca4bd |
line wrap: on
line diff
--- a/src/ov-str-mat.cc +++ b/src/ov-str-mat.cc @@ -50,7 +50,7 @@ { CAST_CONV_ARG (const octave_char_matrix_str&); - Matrix m = v.matrix_value (); + Matrix m = v.matrix_value (true); return error_state ? 0 : new octave_matrix (m); } @@ -131,15 +131,38 @@ return retval; } +double +octave_char_matrix_str::double_value (bool force_string_conv) const +{ + double retval = 0; + + if (! force_string_conv) + gripe_invalid_conversion ("string", "real scalar"); + else + { + if (Vwarn_str_to_num) + gripe_implicit_conversion ("string", "real scalar"); + + retval = octave_char_matrix::double_value (); + } + + return retval; +} + Matrix octave_char_matrix_str::matrix_value (bool force_string_conv) const { Matrix retval; - if (! force_string_conv && Vwarn_str_to_num) - gripe_implicit_conversion ("string", "real matrix"); + if (! force_string_conv) + gripe_invalid_conversion ("string", "real matrix"); + else + { + if (Vwarn_str_to_num) + gripe_implicit_conversion ("string", "real matrix"); - retval = Matrix (matrix.matrix_value ()); + retval = octave_char_matrix::matrix_value (); + } return retval; }