summaryrefslogtreecommitdiffstats
path: root/vec_pseudo.h
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2013-06-12 16:03:29 -0400
committerErik Schnetter <schnetter@gmail.com>2013-06-12 16:03:29 -0400
commitfd04ed8d0e9506e491264a9536af184bc421fca0 (patch)
treef9222d21289ffe30f4b33ef0dc63a3484b9a9570 /vec_pseudo.h
parentb9fb92d1a3f5535e1f8e91075491d8c32640d3fc (diff)
downloadvecmathlib-fd04ed8d0e9506e491264a9536af184bc421fca0.zip
vecmathlib-fd04ed8d0e9506e491264a9536af184bc421fca0.tar.gz
Implement signbit function for integer vectors
Diffstat (limited to 'vec_pseudo.h')
-rw-r--r--vec_pseudo.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/vec_pseudo.h b/vec_pseudo.h
index 3bacd9d..09de4a5 100644
--- a/vec_pseudo.h
+++ b/vec_pseudo.h
@@ -355,6 +355,13 @@ namespace vecmathlib {
+ boolvec_t signbit() const
+ {
+ boolvec_t res;
+ for (int d=0; d<size; ++d) res.set_elt(d, v[d] < 0);
+ return res;
+ }
+
boolvec_t operator==(intpseudovec const& x) const
{
boolvec_t res;
@@ -918,6 +925,12 @@ namespace vecmathlib {
return x.lsr(n);
}
+ template<typename real_t, int size>
+ inline boolpseudovec<real_t, size> signbit(intpseudovec<real_t, size> x)
+ {
+ return x.signbit();
+ }
+
// realpseudovec wrappers
OpenPOWER on IntegriCloud