Mercurial > octave
comparison libinterp/operators/op-dms-template.cc @ 31867:a9c8b1f8fb32
use macro to simplify octave_base_value casts in operator functions
* ops.h (OCTAVE_DYNAMIC_CAST): Rename from DYNORSTAT_CAST.
(OCTAVE_CAST_BASE_VALUE): New macro.
* op-b-b.cc, op-b-bm.cc, op-b-sbm.cc, op-bm-b.cc, op-bm-bm.cc,
op-bm-sbm.cc, op-cdm-cdm.cc, op-cell.cc, op-chm.cc, op-class.cc,
op-cm-cm.cc, op-cm-cs.cc, op-cm-m.cc, op-cm-s.cc, op-cm-scm.cc,
op-cm-sm.cc, op-cs-cm.cc, op-cs-cs.cc, op-cs-m.cc, op-cs-s.cc,
op-cs-scm.cc, op-cs-sm.cc, op-dm-dm.cc, op-dm-scm.cc, op-dm-sm.cc,
op-dm-template.cc, op-dms-template.cc, op-fcdm-fcdm.cc, op-fcm-fcm.cc,
op-fcm-fcs.cc, op-fcm-fm.cc, op-fcm-fs.cc, op-fcn.cc, op-fcs-fcm.cc,
op-fcs-fcs.cc, op-fcs-fm.cc, op-fcs-fs.cc, op-fdm-fdm.cc,
op-fm-fcm.cc, op-fm-fcs.cc, op-fm-fm.cc, op-fm-fs.cc, op-fs-fcm.cc,
op-fs-fcs.cc, op-fs-fm.cc, op-fs-fs.cc, op-int.h, op-m-cm.cc,
op-m-cs.cc, op-m-m.cc, op-m-s.cc, op-m-scm.cc, op-m-sm.cc, op-mi.cc,
op-pm-pm.cc, op-pm-scm.cc, op-pm-sm.cc, op-pm-template.cc,
op-range.cc, op-s-cm.cc, op-s-cs.cc, op-s-m.cc, op-s-s.cc,
op-s-scm.cc, op-s-sm.cc, op-sbm-b.cc, op-sbm-bm.cc, op-sbm-sbm.cc,
op-scm-cm.cc, op-scm-cs.cc, op-scm-m.cc, op-scm-s.cc, op-scm-scm.cc,
op-scm-sm.cc, op-sm-cm.cc, op-sm-cs.cc, op-sm-m.cc, op-sm-s.cc,
op-sm-scm.cc, op-sm-sm.cc, op-str-m.cc, op-str-s.cc, op-str-str.cc,
op-struct.cc, ops.h:
Replace lines like "T& v = DYNORSTAT_CAST<T&> (a)" with
"OCTAVE_CAST_BASE_VALUE (T&, v, a)".
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 28 Feb 2023 15:45:03 -0500 |
parents | 3722c5b1a8c8 |
children | 2e484f9f1f18 |
comparison
equal
deleted
inserted
replaced
31866:3722c5b1a8c8 | 31867:a9c8b1f8fb32 |
---|---|
52 #define MATRIX_VALUE CONCAT2(MATRIXV, _value) | 52 #define MATRIX_VALUE CONCAT2(MATRIXV, _value) |
53 #define SCALAR_VALUE CONCAT2(SCALARV, _value) | 53 #define SCALAR_VALUE CONCAT2(SCALARV, _value) |
54 | 54 |
55 DEFBINOP (dmsdiv, MATRIX, SCALAR) | 55 DEFBINOP (dmsdiv, MATRIX, SCALAR) |
56 { | 56 { |
57 const OCTAVE_MATRIX& v1 = DYNORSTAT_CAST<const OCTAVE_MATRIX&> (a1); | 57 OCTAVE_CAST_BASE_VALUE (const OCTAVE_MATRIX&, v1, a1); |
58 const OCTAVE_SCALAR& v2 = DYNORSTAT_CAST<const OCTAVE_SCALAR&> (a2); | 58 OCTAVE_CAST_BASE_VALUE (const OCTAVE_SCALAR&, v2, a2); |
59 | 59 |
60 return v1.MATRIX_VALUE () / v2.SCALAR_VALUE (); | 60 return v1.MATRIX_VALUE () / v2.SCALAR_VALUE (); |
61 } | 61 } |
62 | 62 |
63 DEFBINOP (sdmldiv, SCALAR, MATRIX) | 63 DEFBINOP (sdmldiv, SCALAR, MATRIX) |
64 { | 64 { |
65 const OCTAVE_SCALAR& v1 = DYNORSTAT_CAST<const OCTAVE_SCALAR&> (a1); | 65 OCTAVE_CAST_BASE_VALUE (const OCTAVE_SCALAR&, v1, a1); |
66 const OCTAVE_MATRIX& v2 = DYNORSTAT_CAST<const OCTAVE_MATRIX&> (a2); | 66 OCTAVE_CAST_BASE_VALUE (const OCTAVE_MATRIX&, v2, a2); |
67 | 67 |
68 return v2.MATRIX_VALUE () / v1.SCALAR_VALUE (); | 68 return v2.MATRIX_VALUE () / v1.SCALAR_VALUE (); |
69 } | 69 } |
70 | 70 |
71 DEFBINOP (dmspow, MATRIX, SCALAR) | 71 DEFBINOP (dmspow, MATRIX, SCALAR) |
72 { | 72 { |
73 const OCTAVE_MATRIX& v1 = DYNORSTAT_CAST<const OCTAVE_MATRIX&> (a1); | 73 OCTAVE_CAST_BASE_VALUE (const OCTAVE_MATRIX&, v1, a1); |
74 const OCTAVE_SCALAR& v2 = DYNORSTAT_CAST<const OCTAVE_SCALAR&> (a2); | 74 OCTAVE_CAST_BASE_VALUE (const OCTAVE_SCALAR&, v2, a2); |
75 | 75 |
76 return xpow (v1.MATRIX_VALUE (), v2.SCALAR_VALUE ()); | 76 return xpow (v1.MATRIX_VALUE (), v2.SCALAR_VALUE ()); |
77 } | 77 } |
78 | 78 |
79 #define SHORT_NAME CONCAT3(MSHORT, _, SSHORT) | 79 #define SHORT_NAME CONCAT3(MSHORT, _, SSHORT) |