Mercurial > octave
diff src/OPERATORS/op-fm-fs.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 | fb6b6fcafa62 |
line wrap: on
line diff
--- a/src/OPERATORS/op-fm-fs.cc Mon Aug 17 14:46:18 2009 +0200 +++ b/src/OPERATORS/op-fm-fs.cc Wed Aug 19 13:47:59 2009 +0200 @@ -122,6 +122,11 @@ DEFNDASSIGNOP_FN (assign, float_matrix, float_scalar, float_scalar, assign) DEFNDASSIGNOP_FN (dbl_assign, matrix, float_scalar, scalar, assign) +DEFNDASSIGNOP_OP (assign_add, float_matrix, float_scalar, float_scalar, +=) +DEFNDASSIGNOP_OP (assign_sub, float_matrix, float_scalar, float_scalar, -=) +DEFNDASSIGNOP_OP (assign_mul, float_matrix, float_scalar, float_scalar, *=) +DEFNDASSIGNOP_OP (assign_div, float_matrix, float_scalar, float_scalar, /=) + void install_fm_fs_ops (void) { @@ -150,6 +155,11 @@ INSTALL_ASSIGNOP (op_asn_eq, octave_float_matrix, octave_float_scalar, assign); INSTALL_ASSIGNOP (op_asn_eq, octave_matrix, octave_float_scalar, dbl_assign); + + INSTALL_ASSIGNOP (op_add_eq, octave_float_matrix, octave_float_scalar, assign_add); + INSTALL_ASSIGNOP (op_sub_eq, octave_float_matrix, octave_float_scalar, assign_sub); + INSTALL_ASSIGNOP (op_mul_eq, octave_float_matrix, octave_float_scalar, assign_mul); + INSTALL_ASSIGNOP (op_div_eq, octave_float_matrix, octave_float_scalar, assign_div); } /*