diff options
author | Erik Schnetter <schnetter@gmail.com> | 2013-02-16 23:37:38 -0500 |
---|---|---|
committer | Erik Schnetter <schnetter@gmail.com> | 2013-02-16 23:37:38 -0500 |
commit | 68fc04ed1826328d357a7c6402b10ae89aa8f059 (patch) | |
tree | fe290c5ba3cb6744b403bda6a82c6b8fd0ed7628 /vec_float_avx.h | |
parent | 3dd2cd307b3795e7061fa1ff715903764b35df61 (diff) | |
download | vecmathlib-68fc04ed1826328d357a7c6402b10ae89aa8f059.zip vecmathlib-68fc04ed1826328d357a7c6402b10ae89aa8f059.tar.gz |
Add cbrt, hypot, trunc; rename scalbn to ldexp
Diffstat (limited to 'vec_float_avx.h')
-rw-r--r-- | vec_float_avx.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/vec_float_avx.h b/vec_float_avx.h index d6e0e24..a6dd04f 100644 --- a/vec_float_avx.h +++ b/vec_float_avx.h @@ -567,6 +567,7 @@ namespace vecmathlib { realvec asinh() const { return MF::vml_asinh(*this); } realvec atan() const { return MF::vml_atan(*this); } realvec atanh() const { return MF::vml_atanh(*this); } + realvec cbrt() const { return MF::vml_cbrt(*this); } realvec ceil() const { return _mm256_ceil_ps(v); } realvec copysign(realvec y) const { return MF::vml_copysign(*this, y); } realvec cos() const { return MF::vml_cos(*this); } @@ -582,11 +583,14 @@ namespace vecmathlib { realvec fmax(realvec y) const { return _mm256_max_ps(v, y.v); } realvec fmin(realvec y) const { return _mm256_min_ps(v, y.v); } realvec fmod(realvec y) const { return MF::vml_fmod(*this, y); } + realvec hypot(realvec y) const { return MF::vml_hypot(*this, y); } intvec_t ilogb() const { return MF::vml_ilogb(*this); } boolvec_t isfinite() const { return MF::vml_isfinite(*this); } boolvec_t isinf() const { return MF::vml_isinf(*this); } boolvec_t isnan() const { return MF::vml_isnan(*this); } boolvec_t isnormal() const { return MF::vml_isnormal(*this); } + realvec ldexp(int_t n) const { return MF::vml_ldexp(*this, n); } + realvec ldexp(intvec_t n) const { return MF::vml_ldexp(*this, n); } realvec log() const { return MF::vml_log(*this); } realvec log10() const { return MF::vml_log10(*this); } realvec log1p() const { return MF::vml_log1p(*this); } @@ -608,14 +612,13 @@ namespace vecmathlib { r *= RV(1.5) - RV(0.5)*x * r*r; // one Newton iteration (see vml_rsqrt) return r; } - realvec scalbn(int_t n) const { return MF::vml_scalbn(*this, n); } - realvec scalbn(intvec_t n) const { return MF::vml_scalbn(*this, n); } boolvec_t signbit() const { return v; } realvec sin() const { return MF::vml_sin(*this); } realvec sinh() const { return MF::vml_sinh(*this); } realvec sqrt() const { return _mm256_sqrt_ps(v); } realvec tan() const { return MF::vml_tan(*this); } realvec tanh() const { return MF::vml_tanh(*this); } + realvec trunc() const { return _mm256_round_ps(v, _MM_FROUND_TO_ZERO); } }; |