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	Thu Sep 15 12:51:10 2011 -0400
+++ b/src/ov-bool.h	Thu Sep 15 17:25:21 2011 -0400
@@ -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; }