Mercurial > octave
diff src/ov-ch-mat.cc @ 7789:82be108cc558
First attempt at single precision tyeps
* * *
corrections to qrupdate single precision routines
* * *
prefer demotion to single over promotion to double
* * *
Add single precision support to log2 function
* * *
Trivial PROJECT file update
* * *
Cache optimized hermitian/transpose methods
* * *
Add tests for tranpose/hermitian and ChangeLog entry for new transpose code
author | David Bateman <dbateman@free.fr> |
---|---|
date | Sun, 27 Apr 2008 22:34:17 +0200 |
parents | a1dbe9d80eee |
children | f00578b495e9 |
line wrap: on
line diff
--- a/src/ov-ch-mat.cc Wed May 14 18:09:56 2008 +0200 +++ b/src/ov-ch-mat.cc Sun Apr 27 22:34:17 2008 +0200 @@ -80,6 +80,24 @@ return retval; } +float +octave_char_matrix::float_value (bool) const +{ + float retval = lo_ieee_float_nan_value (); + + if (rows () > 0 && columns () > 0) + { + gripe_implicit_conversion ("Octave:array-as-scalar", + "character matrix", "real scalar"); + + retval = matrix (0, 0); + } + else + gripe_invalid_conversion ("character matrix", "real scalar"); + + return retval; +} + Complex octave_char_matrix::complex_value (bool) const { @@ -100,6 +118,26 @@ return retval; } +FloatComplex +octave_char_matrix::float_complex_value (bool) const +{ + float tmp = lo_ieee_float_nan_value (); + + FloatComplex retval (tmp, tmp); + + if (rows () > 0 && columns () > 0) + { + gripe_implicit_conversion ("Octave:array-as-scalar", + "character matrix", "complex scalar"); + + retval = matrix (0, 0); + } + else + gripe_invalid_conversion ("character matrix", "complex scalar"); + + return retval; +} + void octave_char_matrix::print_raw (std::ostream& os, bool pr_as_read_syntax) const