diff options
author | Erik Schnetter <schnetter@gmail.com> | 2013-02-14 16:46:46 -0500 |
---|---|---|
committer | Erik Schnetter <schnetter@gmail.com> | 2013-02-14 16:46:46 -0500 |
commit | ac6a002775fed4bf38a3d6e2baa19f053f4e36ea (patch) | |
tree | cccacd8c6213b4f476b97760e561cc1d69f2de1c /vec_pseudo.h | |
parent | dab1239acf21702a52fc84e387eb04cbe54619e8 (diff) | |
download | vecmathlib-ac6a002775fed4bf38a3d6e2baa19f053f4e36ea.zip vecmathlib-ac6a002775fed4bf38a3d6e2baa19f053f4e36ea.tar.gz |
Provide scalbn with scalar int argument
Diffstat (limited to 'vec_pseudo.h')
-rw-r--r-- | vec_pseudo.h | 14 |
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); |