Mercurial > octave
diff src/OPERATORS/op-cm-cs.cc @ 9546:1beb23d2b892
optimize op= in common cases
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Wed, 19 Aug 2009 13:47:59 +0200 |
parents | eb63fbe60fab |
children | 319e2ab9b8ae |
line wrap: on
line diff
--- a/src/OPERATORS/op-cm-cs.cc Mon Aug 17 14:46:18 2009 +0200 +++ b/src/OPERATORS/op-cm-cs.cc Wed Aug 19 13:47:59 2009 +0200 @@ -107,6 +107,11 @@ DEFNDASSIGNOP_FN (assign, complex_matrix, complex, complex, assign) DEFNDASSIGNOP_FN (sgl_assign, float_complex_matrix, complex, float_complex, assign) +DEFNDASSIGNOP_OP (assign_add, complex_matrix, complex_scalar, complex, +=) +DEFNDASSIGNOP_OP (assign_sub, complex_matrix, complex_scalar, complex, -=) +DEFNDASSIGNOP_OP (assign_mul, complex_matrix, complex_scalar, complex, *=) +DEFNDASSIGNOP_OP (assign_div, complex_matrix, complex_scalar, complex, /=) + void install_cm_cs_ops (void) { @@ -133,6 +138,11 @@ INSTALL_ASSIGNOP (op_asn_eq, octave_complex_matrix, octave_complex, assign); INSTALL_ASSIGNOP (op_asn_eq, octave_float_complex_matrix, octave_complex, sgl_assign); + + INSTALL_ASSIGNOP (op_add_eq, octave_complex_matrix, octave_complex_scalar, assign_add); + INSTALL_ASSIGNOP (op_sub_eq, octave_complex_matrix, octave_complex_scalar, assign_sub); + INSTALL_ASSIGNOP (op_mul_eq, octave_complex_matrix, octave_complex_scalar, assign_mul); + INSTALL_ASSIGNOP (op_div_eq, octave_complex_matrix, octave_complex_scalar, assign_div); } /*