diff src/DLD-FUNCTIONS/bsxfun.cc @ 10107:fd262afea1d1

optimize bsxfun for chars
author Jaroslav Hajek <highegg@gmail.com>
date Thu, 14 Jan 2010 13:16:09 +0100
parents c15a5ed0da58
children e409546ac0a8
line wrap: on
line diff
--- a/src/DLD-FUNCTIONS/bsxfun.cc	Thu Jan 14 10:17:37 2010 +0100
+++ b/src/DLD-FUNCTIONS/bsxfun.cc	Thu Jan 14 13:16:09 2010 +0100
@@ -175,6 +175,14 @@
   REGISTER_OP_HANDLER (bsxfun_builtin_power, btyp_complex, ComplexNDArray, bsxfun_pow);
   REGISTER_OP_HANDLER (bsxfun_builtin_power, btyp_float_complex, FloatComplexNDArray, bsxfun_pow);
 
+  // For chars, we want just relational handlers.
+  REGISTER_REL_HANDLER (bsxfun_builtin_eq, btyp_char, charNDArray, bsxfun_eq);
+  REGISTER_REL_HANDLER (bsxfun_builtin_ne, btyp_char, charNDArray, bsxfun_ne);
+  REGISTER_REL_HANDLER (bsxfun_builtin_lt, btyp_char, charNDArray, bsxfun_lt);
+  REGISTER_REL_HANDLER (bsxfun_builtin_le, btyp_char, charNDArray, bsxfun_le);
+  REGISTER_REL_HANDLER (bsxfun_builtin_gt, btyp_char, charNDArray, bsxfun_gt);
+  REGISTER_REL_HANDLER (bsxfun_builtin_ge, btyp_char, charNDArray, bsxfun_ge);
+
   filled = true;
 }