summaryrefslogtreecommitdiffstats
path: root/mathfuncs_base.h
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2013-09-01 23:45:23 -0400
committerErik Schnetter <schnetter@gmail.com>2013-09-01 23:45:23 -0400
commitae370822f291af84098b7d56721fa25b38b70a8b (patch)
tree82af54c76c8eef886938cef9d5e84ee1831905f7 /mathfuncs_base.h
parent0d32864cbff42a693f9b5c415642746797f5e9ff (diff)
downloadvecmathlib-ae370822f291af84098b7d56721fa25b38b70a8b.zip
vecmathlib-ae370822f291af84098b7d56721fa25b38b70a8b.tar.gz
Implement more integer functions: abs bitifthen clz isignbit max min popcount rotate
Rename integer signbit to isignbit to avoid name conflicts.
Diffstat (limited to 'mathfuncs_base.h')
-rw-r--r--mathfuncs_base.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/mathfuncs_base.h b/mathfuncs_base.h
index f413d2d..14f1051 100644
--- a/mathfuncs_base.h
+++ b/mathfuncs_base.h
@@ -4,7 +4,6 @@
#define MATHFUNCS_BASE_H
#include "floatprops.h"
-#include "vec_base.h"
@@ -38,6 +37,17 @@ namespace vecmathlib {
// static intvec_t IV(int_t a) { return intvec_t(a); }
// static boolvec_t BV(bool a) { return boolvec_t(a); }
+ // int
+ static intvec_t vml_abs(intvec_t x);
+ static intvec_t vml_bitifthen(intvec_t x, intvec_t y, intvec_t z);
+ static intvec_t vml_clz(intvec_t x);
+ static boolvec_t vml_isignbit(intvec_t x);
+ static intvec_t vml_max(intvec_t x, intvec_t y);
+ static intvec_t vml_min(intvec_t x, intvec_t y);
+ static intvec_t vml_popcount(intvec_t x);
+ static intvec_t vml_rotate(intvec_t x, int_t n);
+ static intvec_t vml_rotate(intvec_t x, intvec_t n);
+
// asin
static realvec_t vml_acos(realvec_t x);
static realvec_t vml_asin(realvec_t x);
OpenPOWER on IntegriCloud