Mercurial > hg > octave-nkf
diff liboctave/MArray.cc @ 13139:aa4a23337a0f
Enable BSX in-place for missing assignment operators
* bsxfun-defs.cc (do_inplace_bsxfun_op): New function.
* bsxfun.h (is_valid_bsxfun): Fix logic, had bug with empty
dimensions. (is_valid_inplace_bsxfun): New function.
* mx-inlines.cc (DEFMXBOOLOPEQ): Add missing function for
vector-by-scalar operation. (do_mm_inplace_op): Call new
inplace_bsxfun functions.
* MArray.cc (MArray::operator+, MArray::operator-, MArray::product_eq,
MArray::quotient_eq): Change calling form for do_mm_in_place_op.
* boolNDArray.cc (boolNDArray::mx_el_and_assign,
boolNDArray::mx_el_or_assign): Ditto
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Thu, 15 Sep 2011 05:11:46 -0500 |
parents | d9d65c3017c3 |
children | 72c96de7a403 |
line wrap: on
line diff
--- a/liboctave/MArray.cc +++ b/liboctave/MArray.cc @@ -264,7 +264,7 @@ if (a.is_shared ()) a = a + b; else - do_mm_inplace_op<T, T> (a, b, mx_inline_add2, "+="); + do_mm_inplace_op<T, T> (a, b, mx_inline_add2, mx_inline_add2, "+="); return a; } @@ -275,7 +275,7 @@ if (a.is_shared ()) a = a - b; else - do_mm_inplace_op<T, T> (a, b, mx_inline_sub2, "-="); + do_mm_inplace_op<T, T> (a, b, mx_inline_sub2, mx_inline_sub2, "-="); return a; } @@ -287,7 +287,7 @@ if (a.is_shared ()) return a = product (a, b); else - do_mm_inplace_op<T, T> (a, b, mx_inline_mul2, ".*="); + do_mm_inplace_op<T, T> (a, b, mx_inline_mul2, mx_inline_mul2, ".*="); return a; } @@ -298,7 +298,7 @@ if (a.is_shared ()) return a = quotient (a, b); else - do_mm_inplace_op<T, T> (a, b, mx_inline_div2, "./="); + do_mm_inplace_op<T, T> (a, b, mx_inline_div2, mx_inline_div2, "./="); return a; }