summaryrefslogtreecommitdiffstats
path: root/vec_pseudo.h
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2013-02-14 16:46:46 -0500
committerErik Schnetter <schnetter@gmail.com>2013-02-14 16:46:46 -0500
commitac6a002775fed4bf38a3d6e2baa19f053f4e36ea (patch)
treecccacd8c6213b4f476b97760e561cc1d69f2de1c /vec_pseudo.h
parentdab1239acf21702a52fc84e387eb04cbe54619e8 (diff)
downloadvecmathlib-ac6a002775fed4bf38a3d6e2baa19f053f4e36ea.zip
vecmathlib-ac6a002775fed4bf38a3d6e2baa19f053f4e36ea.tar.gz
Provide scalbn with scalar int argument
Diffstat (limited to 'vec_pseudo.h')
-rw-r--r--vec_pseudo.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/vec_pseudo.h b/vec_pseudo.h
index ec20753..c93e8bf 100644
--- a/vec_pseudo.h
+++ b/vec_pseudo.h
@@ -694,6 +694,12 @@ namespace vecmathlib {
}
realpseudovec round() const { return map(std::round); }
realpseudovec rsqrt() const { return sqrt().rcp(); }
+ realpseudovec scalbn(int_t n) const
+ {
+ realvec_t res;
+ for (int d=0; d<size; ++d) res.v[d] = std::scalbn(v[d], n);
+ return res;
+ }
realpseudovec scalbn(intvec_t n) const
{
realvec_t res;
@@ -1189,6 +1195,14 @@ namespace vecmathlib {
template<typename real_t, int size>
inline
realpseudovec<real_t, size> scalbn(realpseudovec<real_t, size> x,
+ typename intpseudovec<real_t, size>::int_t n)
+ {
+ return x.scalbn(n);
+ }
+
+ template<typename real_t, int size>
+ inline
+ realpseudovec<real_t, size> scalbn(realpseudovec<real_t, size> x,
intpseudovec<real_t, size> n)
{
return x.scalbn(n);
OpenPOWER on IntegriCloud