Mercurial > hg > octave-lyh
diff liboctave/bsxfun-defs.cc @ 13012:15eefbd9d4e8
Implement a few missing automatic bsxfun power operators
* bsxfun-decl.h: Declare mixed integer-float bsxfun power operators.
* int8NDArray.h: Ditto.
* int16NDArray.h: Ditto.
* int32NDArray.h: Ditto.
* int64NDArray.h: Ditto.
* uint8NDArray.h: Ditto.
* uint16NDArray.h: Ditto.
* uint32NDArray.h: Ditto.
* uint64NDArray.h: Ditto.
* bsxfun-defs.cc: Define mixed integer-float bsxfun power operators.
* int8NDArray.cc: Ditto.
* int16NDArray.cc: Ditto.
* int32NDArray.cc: Ditto.
* int64NDArray.cc: Ditto.
* uint8NDArray.cc: Ditto.
* uint16NDArray.cc: Ditto.
* uint32NDArray.cc: Ditto.
* uint64NDArray.cc: Ditto.
* fNDArray.h: Declare mixed float-complex bsxfun power operators.
* fNDArray.cc: Define mixed float-complex bsxfun power operators.
* oct-inttypes.cc: Declare overloaded pow(integer, float) functions.
* oct-inttypes.cc: Define and instantiate overloaded pow(integer, float) functions.
* op-int.h: Remove casts so that mixed-type bsxfun_pow functions are called now.
* xpow.cc: Cast to complex arrays if pow returns non-real; call bsxfun
on a few missing functions
author | Jordi Gutiérrez Hermoso <jordigh@gmail.com> |
---|---|
date | Fri, 26 Aug 2011 21:57:23 -0500 |
parents | 12df7854fa7c |
children | aa4a23337a0f |
line wrap: on
line diff
--- a/liboctave/bsxfun-defs.cc +++ b/liboctave/bsxfun-defs.cc @@ -174,4 +174,11 @@ BSXFUN_REL_DEF_MXLOOP (gt, ARRAY, mx_inline_gt) \ BSXFUN_REL_DEF_MXLOOP (ge, ARRAY, mx_inline_ge) +//For bsxfun power with mixed integer/float types +#define BSXFUN_POW_MIXED_MXLOOP(INT_TYPE) \ + BSXFUN_OP2_DEF_MXLOOP (pow, INT_TYPE, INT_TYPE, NDArray, mx_inline_pow) \ + BSXFUN_OP2_DEF_MXLOOP (pow, INT_TYPE, INT_TYPE, FloatNDArray, mx_inline_pow)\ + BSXFUN_OP2_DEF_MXLOOP (pow, INT_TYPE, NDArray, INT_TYPE, mx_inline_pow) \ + BSXFUN_OP2_DEF_MXLOOP (pow, INT_TYPE, FloatNDArray, INT_TYPE, mx_inline_pow) + #endif