diff liboctave/bsxfun-decl.h @ 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 fd0a3ac60b0e
children 72c96de7a403
line wrap: on
line diff
--- a/liboctave/bsxfun-decl.h
+++ b/liboctave/bsxfun-decl.h
@@ -42,6 +42,12 @@
   BSXFUN_OP_DECL (min, ARRAY, API) \
   BSXFUN_OP_DECL (max, ARRAY, API)
 
+#define BSXFUN_MIXED_INT_DECLS(INT_TYPE, API)         \
+  BSXFUN_OP2_DECL (pow, INT_TYPE, INT_TYPE, NDArray, API)       \
+  BSXFUN_OP2_DECL (pow, INT_TYPE, INT_TYPE, FloatNDArray, API)  \
+  BSXFUN_OP2_DECL (pow, INT_TYPE, NDArray, INT_TYPE, API)       \
+  BSXFUN_OP2_DECL (pow, INT_TYPE, FloatNDArray, INT_TYPE, API)
+
 #define BSXFUN_STDREL_DECLS(ARRAY, API) \
   BSXFUN_REL_DECL (eq, ARRAY, API) \
   BSXFUN_REL_DECL (ne, ARRAY, API) \