Mercurial > octave-nkf
comparison liboctave/MDiagArray2.cc @ 13004:d9d65c3017c3
Make bsxfun automatic for most binary operators.
* MArray.cc: Give do_mm_binary_op two extra loop arguments so it can
pass them to bsxfun.
* MDiagArray2.cc: Ditto.
* mx-op-defs.h: Ditto.
* bsxfun.h: New file.
* Makefile.am: Add bsxfun.h to includes.
* mx-inlines.cc: Call do_bsxfun_op when appropriate.
author | Jordi Gutiérrez Hermoso <jordigh@gmail.com> |
---|---|
date | Wed, 24 Aug 2011 23:06:59 -0500 |
parents | 12df7854fa7c |
children | 72c96de7a403 |
comparison
equal
deleted
inserted
replaced
13003:74c5fa5cef47 | 13004:d9d65c3017c3 |
---|---|
80 MDiagArray2<T> \ | 80 MDiagArray2<T> \ |
81 FCN (const MDiagArray2<T>& a, const MDiagArray2<T>& b) \ | 81 FCN (const MDiagArray2<T>& a, const MDiagArray2<T>& b) \ |
82 { \ | 82 { \ |
83 if (a.d1 != b.d1 || a.d2 != b.d2) \ | 83 if (a.d1 != b.d1 || a.d2 != b.d2) \ |
84 gripe_nonconformant (#FCN, a.d1, a.d2, b.d1, b.d2); \ | 84 gripe_nonconformant (#FCN, a.d1, a.d2, b.d1, b.d2); \ |
85 return MDiagArray2<T> (do_mm_binary_op<T, T, T> (a, b, FN, #FCN), a.d1, a.d2); \ | 85 return MDiagArray2<T> (do_mm_binary_op<T, T, T> (a, b, FN, FN, FN, #FCN), a.d1, a.d2); \ |
86 } | 86 } |
87 | 87 |
88 MARRAY_DADA_OP (operator +, +, mx_inline_add) | 88 MARRAY_DADA_OP (operator +, +, mx_inline_add) |
89 MARRAY_DADA_OP (operator -, -, mx_inline_sub) | 89 MARRAY_DADA_OP (operator -, -, mx_inline_sub) |
90 MARRAY_DADA_OP (product, *, mx_inline_mul) | 90 MARRAY_DADA_OP (product, *, mx_inline_mul) |