Mercurial > hg > octave-nkf
diff liboctave/MArray-defs.h @ 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 | 3a1dd361f978 |
line wrap: on
line diff
--- a/liboctave/MArray-defs.h +++ b/liboctave/MArray-defs.h @@ -77,6 +77,9 @@ #define MARRAY_OP_ASSIGN_DEFS(A_T, E_T, RHS_T, API) \ MARRAY_OP_ASSIGN_DECLS (A_T, E_T, template, API, , RHS_T) +#define MARRAY_OP_ASSIGN_DEFS1(A_T, E_T, RHS_T, API) \ + MARRAY_OP_ASSIGN_DECLS1 (A_T, E_T, template, API, , RHS_T) + // Instantiate the unary operators. #define MARRAY_UNOP_DEFS(A_T, E_T, API) \ MARRAY_UNOP_DECLS (A_T, E_T, template, API, ) @@ -96,21 +99,21 @@ // Instantiate all the MArray friends for MArray element type T. #define INSTANTIATE_MARRAY_FRIENDS(T, API) \ - MARRAY_OP_ASSIGN_DEFS (MArray, T, T, API) \ + MARRAY_OP_ASSIGN_DEFS1 (MArray, T, T, API) \ MARRAY_OP_ASSIGN_DEFS (MArray, T, MArray<T>, API) \ MARRAY_UNOP_DEFS (MArray, T, API) \ MARRAY_BINOP_DEFS (MArray, T, API) // Instantiate all the MArray2 friends for MArray2 element type T. #define INSTANTIATE_MARRAY2_FRIENDS(T, API) \ - MARRAY_OP_ASSIGN_DEFS (MArray2, T, T, API) \ + MARRAY_OP_ASSIGN_DEFS1 (MArray2, T, T, API) \ MARRAY_OP_ASSIGN_DEFS (MArray2, T, MArray2<T>, API) \ MARRAY_UNOP_DEFS (MArray2, T, API) \ MARRAY_BINOP_DEFS (MArray2, T, API) // Instantiate all the MArrayN friends for MArrayN element type T. #define INSTANTIATE_MARRAYN_FRIENDS(T, API) \ - MARRAY_OP_ASSIGN_DEFS (MArrayN, T, T, API) \ + MARRAY_OP_ASSIGN_DEFS1 (MArrayN, T, T, API) \ MARRAY_OP_ASSIGN_DEFS (MArrayN, T, MArrayN<T>, API) \ MARRAY_UNOP_DEFS (MArrayN, T, API) \ MARRAY_BINOP_DEFS (MArrayN, T, API)