Mercurial > octave
changeset 28630:35f974bab4c8
fix constness of cat op args
Declare the first argument of the cat_op concatenation operators const.
* ov-typeinfo.h (cat_op_fcn): Make first argument of concatenation
operator typedef const.
* op-b-sbm.cc, op-bm-sbm.cc, op-chm.cc, op-cm-scm.cc, op-cm-sm.cc,
op-cs-scm.cc, op-cs-sm.cc, op-m-scm.cc, op-m-sm.cc, op-s-scm.cc,
op-s-sm.cc, op-sbm-b.cc, op-sbm-bm.cc, op-scm-cm.cc, op-scm-cs.cc,
op-scm-m.cc, op-scm-s.cc, op-sm-cm.cc, op-sm-cs.cc, op-sm-m.cc,
op-sm-s.cc, op-struct.cc: Fix concatentation operator declarations and
casts as needed.
* ops.h (DEFCATOPX, DEFCATOP, DEFCATOP_FN, DEFNDCATOP_FN,
DEFNDCHARCATOP_FN, DEFNDCATOP_FN2): Likewise.
line wrap: on
line diff
--- a/libinterp/octave-value/ov-typeinfo.h Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/octave-value/ov-typeinfo.h Thu Jul 30 16:15:03 2020 -0400 @@ -56,7 +56,7 @@ (const octave_base_value&, const octave_base_value&); typedef octave_value (*cat_op_fcn) - (octave_base_value&, const octave_base_value&, + (const octave_base_value&, const octave_base_value&, const Array<octave_idx_type>& ra_idx); typedef octave_value (*assign_op_fcn)
--- a/libinterp/operators/op-b-sbm.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-b-sbm.cc Thu Jul 30 16:15:03 2020 -0400 @@ -49,7 +49,7 @@ DEFCATOP (b_sbm, bool, sparse_bool_matrix) { - octave_bool& v1 = dynamic_cast<octave_bool&> (a1); + const octave_bool& v1 = dynamic_cast<const octave_bool&> (a1); const octave_sparse_bool_matrix& v2 = dynamic_cast<const octave_sparse_bool_matrix&> (a2); SparseBoolMatrix tmp (1, 1, v1.bool_value ()); @@ -59,7 +59,7 @@ DEFCATOP (b_sm, bool, sparse_matrix) { - octave_bool& v1 = dynamic_cast<octave_bool&> (a1); + const octave_bool& v1 = dynamic_cast<const octave_bool&> (a1); const octave_sparse_matrix& v2 = dynamic_cast<const octave_sparse_matrix&> (a2); SparseMatrix tmp (1, 1, v1.scalar_value ()); return octave_value (tmp. concat (v2.sparse_matrix_value (), ra_idx)); @@ -67,7 +67,7 @@ DEFCATOP (s_sbm, scalar, sparse_bool_matrix) { - octave_scalar& v1 = dynamic_cast<octave_scalar&> (a1); + const octave_scalar& v1 = dynamic_cast<const octave_scalar&> (a1); const octave_sparse_bool_matrix& v2 = dynamic_cast<const octave_sparse_bool_matrix&> (a2); SparseMatrix tmp (1, 1, v1.scalar_value ());
--- a/libinterp/operators/op-bm-sbm.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-bm-sbm.cc Thu Jul 30 16:15:03 2020 -0400 @@ -51,7 +51,7 @@ DEFCATOP (bm_sbm, bool_matrix, sparse_bool_matrix) { - octave_bool_matrix& v1 = dynamic_cast<octave_bool_matrix&> (a1); + const octave_bool_matrix& v1 = dynamic_cast<const octave_bool_matrix&> (a1); const octave_sparse_bool_matrix& v2 = dynamic_cast<const octave_sparse_bool_matrix&> (a2); SparseBoolMatrix tmp (v1.bool_matrix_value ()); @@ -61,7 +61,7 @@ DEFCATOP (m_sbm, matrix, sparse_bool_matrix) { - octave_matrix& v1 = dynamic_cast<octave_matrix&> (a1); + const octave_matrix& v1 = dynamic_cast<const octave_matrix&> (a1); const octave_sparse_bool_matrix& v2 = dynamic_cast<const octave_sparse_bool_matrix&> (a2); SparseMatrix tmp (v1.matrix_value ()); @@ -70,7 +70,7 @@ DEFCATOP (bm_sm, bool_matrix, sparse_matrix) { - octave_bool_matrix& v1 = dynamic_cast<octave_bool_matrix&> (a1); + const octave_bool_matrix& v1 = dynamic_cast<const octave_bool_matrix&> (a1); const octave_sparse_matrix& v2 = dynamic_cast<const octave_sparse_matrix&> (a2); SparseMatrix tmp (v1.matrix_value ()); return octave_value (tmp. concat (v2.sparse_matrix_value (), ra_idx));
--- a/libinterp/operators/op-chm.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-chm.cc Thu Jul 30 16:15:03 2020 -0400 @@ -52,7 +52,7 @@ DEFCATOP (chm_s, char_matrix, scalar) { - octave_char_matrix& v1 = dynamic_cast<octave_char_matrix&> (a1); + const octave_char_matrix& v1 = dynamic_cast<const octave_char_matrix&> (a1); const octave_scalar& v2 = dynamic_cast<const octave_scalar&> (a2); warn_implicit_conversion ("Octave:num-to-str", @@ -64,7 +64,7 @@ DEFCATOP (chm_m, char_matrix, matrix) { - octave_char_matrix& v1 = dynamic_cast<octave_char_matrix&> (a1); + const octave_char_matrix& v1 = dynamic_cast<const octave_char_matrix&> (a1); const octave_matrix& v2 = dynamic_cast<const octave_matrix&> (a2); warn_implicit_conversion ("Octave:num-to-str", @@ -76,7 +76,7 @@ DEFCATOP (s_chm, scalar, char_matrix) { - octave_scalar& v1 = dynamic_cast<octave_scalar&> (a1); + const octave_scalar& v1 = dynamic_cast<const octave_scalar&> (a1); const octave_char_matrix& v2 = dynamic_cast<const octave_char_matrix&> (a2); warn_implicit_conversion ("Octave:num-to-str", @@ -88,7 +88,7 @@ DEFCATOP (m_chm, matrix, char_matrix) { - octave_matrix& v1 = dynamic_cast<octave_matrix&> (a1); + const octave_matrix& v1 = dynamic_cast<const octave_matrix&> (a1); const octave_char_matrix& v2 = dynamic_cast<const octave_char_matrix&> (a2); warn_implicit_conversion ("Octave:num-to-str",
--- a/libinterp/operators/op-cm-scm.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-cm-scm.cc Thu Jul 30 16:15:03 2020 -0400 @@ -129,7 +129,8 @@ DEFCATOP (cm_scm, complex_matrix, sparse_complex_matrix) { - octave_complex_matrix& v1 = dynamic_cast<octave_complex_matrix&> (a1); + const octave_complex_matrix& v1 + = dynamic_cast<const octave_complex_matrix&> (a1); const octave_sparse_complex_matrix& v2 = dynamic_cast<const octave_sparse_complex_matrix&> (a2); SparseComplexMatrix tmp (v1.complex_matrix_value ());
--- a/libinterp/operators/op-cm-sm.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-cm-sm.cc Thu Jul 30 16:15:03 2020 -0400 @@ -125,7 +125,8 @@ DEFCATOP (cm_sm, complex_matrix, sparse_matrix) { - octave_complex_matrix& v1 = dynamic_cast<octave_complex_matrix&> (a1); + const octave_complex_matrix& v1 + = dynamic_cast<const octave_complex_matrix&> (a1); const octave_sparse_matrix& v2 = dynamic_cast<const octave_sparse_matrix&> (a2); SparseComplexMatrix tmp (v1.complex_matrix_value ());
--- a/libinterp/operators/op-cs-scm.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-cs-scm.cc Thu Jul 30 16:15:03 2020 -0400 @@ -108,7 +108,7 @@ DEFCATOP (cs_scm, complex, sparse_complex_matrix) { - octave_complex& v1 = dynamic_cast<octave_complex&> (a1); + const octave_complex& v1 = dynamic_cast<const octave_complex&> (a1); const octave_sparse_complex_matrix& v2 = dynamic_cast<const octave_sparse_complex_matrix&> (a2); SparseComplexMatrix tmp (1, 1, v1.complex_value ());
--- a/libinterp/operators/op-cs-sm.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-cs-sm.cc Thu Jul 30 16:15:03 2020 -0400 @@ -104,8 +104,9 @@ DEFCATOP (cs_sm, sparse_matrix, complex) { - octave_complex& v1 = dynamic_cast<octave_complex&> (a1); - const octave_sparse_matrix& v2 = dynamic_cast<const octave_sparse_matrix&> (a2); + const octave_complex& v1 = dynamic_cast<const octave_complex&> (a1); + const octave_sparse_matrix& v2 + = dynamic_cast<const octave_sparse_matrix&> (a2); SparseComplexMatrix tmp (1, 1, v1.complex_value ()); return octave_value (tmp. concat (v2.sparse_matrix_value (), ra_idx)); }
--- a/libinterp/operators/op-m-scm.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-m-scm.cc Thu Jul 30 16:15:03 2020 -0400 @@ -122,7 +122,7 @@ DEFCATOP (m_scm, matrix, sparse_complex_matrix) { - octave_matrix& v1 = dynamic_cast<octave_matrix&> (a1); + const octave_matrix& v1 = dynamic_cast<const octave_matrix&> (a1); const octave_sparse_complex_matrix& v2 = dynamic_cast<const octave_sparse_complex_matrix&> (a2); SparseMatrix tmp (v1.matrix_value ());
--- a/libinterp/operators/op-m-sm.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-m-sm.cc Thu Jul 30 16:15:03 2020 -0400 @@ -117,7 +117,7 @@ DEFCATOP (m_sm, matrix, sparse_matrix) { - octave_matrix& v1 = dynamic_cast<octave_matrix&> (a1); + const octave_matrix& v1 = dynamic_cast<const octave_matrix&> (a1); const octave_sparse_matrix& v2 = dynamic_cast<const octave_sparse_matrix&> (a2); SparseMatrix tmp (v1.matrix_value ()); return octave_value (tmp. concat (v2.sparse_matrix_value (), ra_idx));
--- a/libinterp/operators/op-s-scm.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-s-scm.cc Thu Jul 30 16:15:03 2020 -0400 @@ -110,7 +110,7 @@ DEFCATOP (s_scm, scalar, sparse_compelx_matrix) { - octave_scalar& v1 = dynamic_cast<octave_scalar&> (a1); + const octave_scalar& v1 = dynamic_cast<const octave_scalar&> (a1); const octave_sparse_complex_matrix& v2 = dynamic_cast<const octave_sparse_complex_matrix&> (a2); SparseMatrix tmp (1, 1, v1.scalar_value ());
--- a/libinterp/operators/op-s-sm.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-s-sm.cc Thu Jul 30 16:15:03 2020 -0400 @@ -101,7 +101,7 @@ DEFCATOP (s_sm, scalar, sparse_matrix) { - octave_scalar& v1 = dynamic_cast<octave_scalar&> (a1); + const octave_scalar& v1 = dynamic_cast<const octave_scalar&> (a1); const octave_sparse_matrix& v2 = dynamic_cast<const octave_sparse_matrix&> (a2); SparseMatrix tmp (1, 1, v1.scalar_value ()); return octave_value (tmp.concat (v2.sparse_matrix_value (), ra_idx));
--- a/libinterp/operators/op-sbm-b.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-sbm-b.cc Thu Jul 30 16:15:03 2020 -0400 @@ -56,7 +56,7 @@ DEFCATOP (sbm_b, sparse_bool_matrix, bool) { - octave_sparse_bool_matrix& v1 = dynamic_cast<octave_sparse_bool_matrix&> (a1); + const octave_sparse_bool_matrix& v1 = dynamic_cast<const octave_sparse_bool_matrix&> (a1); const octave_bool& v2 = dynamic_cast<const octave_bool&> (a2); SparseBoolMatrix tmp (1, 1, v2.bool_value ()); @@ -65,7 +65,7 @@ DEFCATOP (sm_b, sparse_matrix, bool) { - octave_sparse_matrix& v1 = dynamic_cast<octave_sparse_matrix&> (a1); + const octave_sparse_matrix& v1 = dynamic_cast<const octave_sparse_matrix&> (a1); const octave_bool& v2 = dynamic_cast<const octave_bool&> (a2); SparseMatrix tmp (1, 1, v2.scalar_value ()); @@ -74,7 +74,7 @@ DEFCATOP (sbm_s, sparse_bool_matrix, scalar) { - octave_sparse_bool_matrix& v1 = dynamic_cast<octave_sparse_bool_matrix&> (a1); + const octave_sparse_bool_matrix& v1 = dynamic_cast<const octave_sparse_bool_matrix&> (a1); const octave_scalar& v2 = dynamic_cast<const octave_scalar&> (a2); SparseMatrix tmp (1, 1, v2.scalar_value ());
--- a/libinterp/operators/op-sbm-bm.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-sbm-bm.cc Thu Jul 30 16:15:03 2020 -0400 @@ -61,7 +61,7 @@ DEFCATOP (sbm_bm, sparse_bool_matrix, bool_matrix) { - octave_sparse_bool_matrix& v1 = dynamic_cast<octave_sparse_bool_matrix&> (a1); + const octave_sparse_bool_matrix& v1 = dynamic_cast<const octave_sparse_bool_matrix&> (a1); const octave_bool_matrix& v2 = dynamic_cast<const octave_bool_matrix&> (a2); SparseBoolMatrix tmp (v2.bool_matrix_value ()); @@ -70,7 +70,7 @@ DEFCATOP (sbm_m, sparse_bool_matrix, matrix) { - octave_sparse_bool_matrix& v1 = dynamic_cast<octave_sparse_bool_matrix&> (a1); + const octave_sparse_bool_matrix& v1 = dynamic_cast<const octave_sparse_bool_matrix&> (a1); const octave_matrix& v2 = dynamic_cast<const octave_matrix&> (a2); SparseMatrix tmp (v2.matrix_value ()); @@ -79,7 +79,7 @@ DEFCATOP (sm_bm, sparse_matrix, bool_matrix) { - octave_sparse_matrix& v1 = dynamic_cast<octave_sparse_matrix&> (a1); + const octave_sparse_matrix& v1 = dynamic_cast<const octave_sparse_matrix&> (a1); const octave_bool_matrix& v2 = dynamic_cast<const octave_bool_matrix&> (a2); SparseMatrix tmp (v2.matrix_value ());
--- a/libinterp/operators/op-scm-cm.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-scm-cm.cc Thu Jul 30 16:15:03 2020 -0400 @@ -129,8 +129,8 @@ DEFCATOP (scm_cm, sparse_complex_matrix, complex_matrix) { - octave_sparse_complex_matrix& v1 - = dynamic_cast<octave_sparse_complex_matrix&> (a1); + const octave_sparse_complex_matrix& v1 + = dynamic_cast<const octave_sparse_complex_matrix&> (a1); const octave_complex_matrix& v2 = dynamic_cast<const octave_complex_matrix&> (a2); SparseComplexMatrix tmp (v2.complex_matrix_value ());
--- a/libinterp/operators/op-scm-cs.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-scm-cs.cc Thu Jul 30 16:15:03 2020 -0400 @@ -117,8 +117,8 @@ DEFCATOP (scm_cs, sparse_complex_matrix, complex) { - octave_sparse_complex_matrix& v1 - = dynamic_cast<octave_sparse_complex_matrix&> (a1); + const octave_sparse_complex_matrix& v1 + = dynamic_cast<const octave_sparse_complex_matrix&> (a1); const octave_complex& v2 = dynamic_cast<const octave_complex&> (a2); SparseComplexMatrix tmp (1, 1, v2.complex_value ()); return octave_value
--- a/libinterp/operators/op-scm-m.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-scm-m.cc Thu Jul 30 16:15:03 2020 -0400 @@ -123,8 +123,8 @@ DEFCATOP (scm_m, sparse_complex_matrix, matrix) { - octave_sparse_complex_matrix& v1 - = dynamic_cast<octave_sparse_complex_matrix&> (a1); + const octave_sparse_complex_matrix& v1 + = dynamic_cast<const octave_sparse_complex_matrix&> (a1); const octave_matrix& v2 = dynamic_cast<const octave_matrix&> (a2); SparseMatrix tmp (v2.matrix_value ()); return octave_value
--- a/libinterp/operators/op-scm-s.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-scm-s.cc Thu Jul 30 16:15:03 2020 -0400 @@ -125,8 +125,8 @@ DEFCATOP (scm_s, sparse_complex_matrix, scalar) { - octave_sparse_complex_matrix& v1 - = dynamic_cast<octave_sparse_complex_matrix&> (a1); + const octave_sparse_complex_matrix& v1 + = dynamic_cast<const octave_sparse_complex_matrix&> (a1); const octave_scalar& v2 = dynamic_cast<const octave_scalar&> (a2); SparseComplexMatrix tmp (1, 1, v2.complex_value ()); return octave_value
--- a/libinterp/operators/op-sm-cm.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-sm-cm.cc Thu Jul 30 16:15:03 2020 -0400 @@ -126,7 +126,7 @@ DEFCATOP (sm_cm, sparse_matrix, complex_matrix) { - octave_sparse_matrix& v1 = dynamic_cast<octave_sparse_matrix&> (a1); + const octave_sparse_matrix& v1 = dynamic_cast<const octave_sparse_matrix&> (a1); const octave_complex_matrix& v2 = dynamic_cast<const octave_complex_matrix&> (a2); SparseComplexMatrix tmp (v2.complex_matrix_value ());
--- a/libinterp/operators/op-sm-cs.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-sm-cs.cc Thu Jul 30 16:15:03 2020 -0400 @@ -114,7 +114,7 @@ DEFCATOP (sm_cs, sparse_matrix, complex) { - octave_sparse_matrix& v1 = dynamic_cast<octave_sparse_matrix&> (a1); + const octave_sparse_matrix& v1 = dynamic_cast<const octave_sparse_matrix&> (a1); const octave_complex& v2 = dynamic_cast<const octave_complex&> (a2); SparseComplexMatrix tmp (1, 1, v2.complex_value ()); return octave_value (v1.sparse_matrix_value (). concat (tmp, ra_idx));
--- a/libinterp/operators/op-sm-m.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-sm-m.cc Thu Jul 30 16:15:03 2020 -0400 @@ -118,7 +118,7 @@ DEFCATOP (sm_m, sparse_matrix, matrix) { - octave_sparse_matrix& v1 = dynamic_cast<octave_sparse_matrix&> (a1); + const octave_sparse_matrix& v1 = dynamic_cast<const octave_sparse_matrix&> (a1); const octave_matrix& v2 = dynamic_cast<const octave_matrix&> (a2); SparseMatrix tmp (v2.matrix_value ()); return octave_value (v1.sparse_matrix_value (). concat (tmp, ra_idx));
--- a/libinterp/operators/op-sm-s.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-sm-s.cc Thu Jul 30 16:15:03 2020 -0400 @@ -115,7 +115,7 @@ DEFCATOP (sm_s, sparse_matrix, scalar) { - octave_sparse_matrix& v1 = dynamic_cast<octave_sparse_matrix&> (a1); + const octave_sparse_matrix& v1 = dynamic_cast<const octave_sparse_matrix&> (a1); const octave_scalar& v2 = dynamic_cast<const octave_scalar&> (a2); SparseMatrix tmp (1, 1, v2.scalar_value ()); return octave_value (v1.sparse_matrix_value (). concat (tmp, ra_idx));
--- a/libinterp/operators/op-struct.cc Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/op-struct.cc Thu Jul 30 16:15:03 2020 -0400 @@ -60,7 +60,8 @@ DEFNDCATOP_FN (ss_ss_concat, scalar_struct, scalar_struct, map, map, concat) static octave_value -oct_catop_struct_matrix (octave_base_value& a1, const octave_base_value& a2, +oct_catop_struct_matrix (const octave_base_value& a1, + const octave_base_value& a2, const Array<octave_idx_type>&) { const octave_struct& v1 = dynamic_cast<const octave_struct&> (a1); @@ -76,7 +77,8 @@ } static octave_value -oct_catop_matrix_struct (octave_base_value& a1, const octave_base_value& a2, +oct_catop_matrix_struct (const octave_base_value& a1, + const octave_base_value& a2, const Array<octave_idx_type>&) { const octave_matrix& v1 = dynamic_cast<const octave_matrix&> (a1);
--- a/libinterp/operators/ops.h Mon Aug 03 17:07:38 2020 -0400 +++ b/libinterp/operators/ops.h Thu Jul 30 16:15:03 2020 -0400 @@ -322,12 +322,13 @@ #define DEFCATOPX(name, t1, t2) \ static octave_value \ - CONCAT2 (oct_catop_, name) (octave_base_value&, const octave_base_value&, \ + CONCAT2 (oct_catop_, name) (const octave_base_value&, \ + const octave_base_value&, \ const Array<octave_idx_type>& ra_idx) #define DEFCATOP(name, t1, t2) \ static octave_value \ - CONCAT2 (oct_catop_, name) (octave_base_value& a1, \ + CONCAT2 (oct_catop_, name) (const octave_base_value& a1, \ const octave_base_value& a2, \ const Array<octave_idx_type>& ra_idx) @@ -335,11 +336,11 @@ #define DEFCATOP_FN(name, t1, t2, f) \ static octave_value \ - CONCAT2 (oct_catop_, name) (octave_base_value& a1, \ + CONCAT2 (oct_catop_, name) (const octave_base_value& a1, \ const octave_base_value& a2, \ const Array<octave_idx_type>& ra_idx) \ { \ - CONCAT2 (octave_, t1)& v1 = dynamic_cast<CONCAT2 (octave_, t1)&> (a1); \ + const CONCAT2 (octave_, t1)& v1 = dynamic_cast<const CONCAT2 (octave_, t1)&> (a1); \ const CONCAT2 (octave_, t2)& v2 = dynamic_cast<const CONCAT2 (octave_, t2)&> (a2); \ \ return octave_value (v1.CONCAT2 (t1, _value) () . f (v2.CONCAT2 (t2, _value) (), ra_idx)); \ @@ -347,11 +348,11 @@ #define DEFNDCATOP_FN(name, t1, t2, e1, e2, f) \ static octave_value \ - CONCAT2 (oct_catop_, name) (octave_base_value& a1, \ + CONCAT2 (oct_catop_, name) (const octave_base_value& a1, \ const octave_base_value& a2, \ const Array<octave_idx_type>& ra_idx) \ { \ - CONCAT2 (octave_, t1)& v1 = dynamic_cast<CONCAT2 (octave_, t1)&> (a1); \ + const CONCAT2 (octave_, t1)& v1 = dynamic_cast<const CONCAT2 (octave_, t1)&> (a1); \ const CONCAT2 (octave_, t2)& v2 = dynamic_cast<const CONCAT2 (octave_, t2)&> (a2); \ \ return octave_value (v1.CONCAT2 (e1, _value) () . f (v2.CONCAT2 (e2, _value) (), ra_idx)); \ @@ -359,11 +360,11 @@ #define DEFNDCHARCATOP_FN(name, t1, t2, f) \ static octave_value \ - CONCAT2 (oct_catop_, name) (octave_base_value& a1, \ + CONCAT2 (oct_catop_, name) (const octave_base_value& a1, \ const octave_base_value& a2, \ const Array<octave_idx_type>& ra_idx) \ { \ - CONCAT2 (octave_, t1)& v1 = dynamic_cast<CONCAT2 (octave_, t1)&> (a1); \ + const CONCAT2 (octave_, t1)& v1 = dynamic_cast<const CONCAT2 (octave_, t1)&> (a1); \ const CONCAT2 (octave_, t2)& v2 = dynamic_cast<const CONCAT2 (octave_, t2)&> (a2); \ \ return octave_value (v1.char_array_value () . f (v2.char_array_value (), ra_idx), \ @@ -376,11 +377,11 @@ #define DEFNDCATOP_FN2(name, t1, t2, tc1, tc2, e1, e2, f) \ static octave_value \ - CONCAT2 (oct_catop_, name) (octave_base_value& a1, \ + CONCAT2 (oct_catop_, name) (const octave_base_value& a1, \ const octave_base_value& a2, \ const Array<octave_idx_type>& ra_idx) \ { \ - CONCAT2 (octave_, t1)& v1 = dynamic_cast<CONCAT2 (octave_, t1)&> (a1); \ + const CONCAT2 (octave_, t1)& v1 = dynamic_cast<const CONCAT2 (octave_, t1)&> (a1); \ const CONCAT2 (octave_, t2)& v2 = dynamic_cast<const CONCAT2 (octave_, t2)&> (a2); \ \ return octave_value (tc1 (v1.CONCAT2 (e1, _value) ()) . f (tc2 (v2.CONCAT2 (e2, _value) ()), ra_idx)); \