Mercurial > hg > octave-lyh
diff src/ov-bool.h @ 13142:d803d2702a39
improve compatibility of concatenation (bug #33966)
* op-cell.cc (oct_catop_cell_matrix, oct_catop_matrix_cell):
Delete concatenation functions.
(install_cell_ops): Don't install them.
* ov-bool.h (octave_bool::int8_scalar_value,
octave_bool::int16_scalar_value, octave_bool::int32_scalar_value,
octave_bool::int64_scalar_value, octave_bool::uint8_scalar_value,
octave_bool::uint16_scalar_value, octave_bool::uint32_scalar_value,
octave_bool::uint64_scalar_value): New functions.
* pt-mat.cc: New tests for concatentation.
(tree_matrix::rvalue1): Special case cell concatentation.
(eval_error): Don't print line and column info. Change all callers.
(tm_row_const::tm_row_const_rep::do_init_element)
(tm_row_const::tm_row_const_rep::any_cell,
tm_row_const::tm_row_const_rep::first_elem_is_struct):
New data members. Adjust constructor initialization lists.
(tm_row_const::any_cell_p): New function.
(get_concat_class): Give structs and cells proper precedence.
Handle "class".
(tm_row_const::tm_row_const_rep::do_init_element): Check for cells and
whether the first element is a struct. Don't check dimensions here.
(tm_row_const::tm_row_const_rep::init): Convert expressions to values
here. Maybe convert list elements to cells. Check dimensions.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 15 Sep 2011 17:25:21 -0400 |
parents | 12df7854fa7c |
children | 72c96de7a403 |
line wrap: on
line diff
--- a/src/ov-bool.h +++ b/src/ov-bool.h @@ -119,6 +119,30 @@ uint64_array_value (void) const { return uint64NDArray (dim_vector (1, 1), scalar); } + octave_int8 + int8_scalar_value (void) const { return octave_int8 (scalar); } + + octave_int16 + int16_scalar_value (void) const { return octave_int16 (scalar); } + + octave_int32 + int32_scalar_value (void) const { return octave_int32 (scalar); } + + octave_int64 + int64_scalar_value (void) const { return octave_int64 (scalar); } + + octave_uint8 + uint8_scalar_value (void) const { return octave_uint8 (scalar); } + + octave_uint16 + uint16_scalar_value (void) const { return octave_uint16 (scalar); } + + octave_uint32 + uint32_scalar_value (void) const { return octave_uint32 (scalar); } + + octave_uint64 + uint64_scalar_value (void) const { return octave_uint64 (scalar); } + double double_value (bool = false) const { return scalar; } float float_value (bool = false) const { return scalar; }