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)