T-SIMD v31.1.0
A C++ template SIMD library
|
Masked arithmetic functions on Vec's, like addition, multiplication, etc.
Functions | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::mask_add (const Vec< T, SIMD_WIDTH > &src, const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a, const Vec< T, SIMD_WIDTH > &b) |
Masked version of add(const Vec<T, SIMD_WIDTH> &, const Vec<T, SIMD_WIDTH> &). | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::mask_adds (const Vec< T, SIMD_WIDTH > &src, const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a, const Vec< T, SIMD_WIDTH > &b) |
Masked version of adds(const Vec<T, SIMD_WIDTH> &, const Vec<T, SIMD_WIDTH> &). | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::mask_avg (const Vec< T, SIMD_WIDTH > &src, const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a, const Vec< T, SIMD_WIDTH > &b) |
Masked version of avg(const Vec<T, SIMD_WIDTH> &a, const Vec<T, SIMD_WIDTH> &b). | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::mask_div (const Vec< T, SIMD_WIDTH > &src, const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a, const Vec< T, SIMD_WIDTH > &b) |
Masked version of div(const Vec<T, SIMD_WIDTH> &, const Vec<T, SIMD_WIDTH> &). | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::mask_div2r0 (const Vec< T, SIMD_WIDTH > &src, const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a) |
Masked version of div2r0(const Vec<T, SIMD_WIDTH> &). | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::mask_div2rd (const Vec< T, SIMD_WIDTH > &src, const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a) |
Masked version of div2rd(const Vec<T, SIMD_WIDTH> &). | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::mask_mul (const Vec< T, SIMD_WIDTH > &src, const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a, const Vec< T, SIMD_WIDTH > &b) |
Masked version of mul(const Vec<T, SIMD_WIDTH> &, const Vec<T, SIMD_WIDTH> &). | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::mask_sub (const Vec< T, SIMD_WIDTH > &src, const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a, const Vec< T, SIMD_WIDTH > &b) |
Masked version of sub(const Vec<T, SIMD_WIDTH> &, const Vec<T, SIMD_WIDTH> &). | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::mask_subs (const Vec< T, SIMD_WIDTH > &src, const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a, const Vec< T, SIMD_WIDTH > &b) |
Masked version of subs(const Vec<T, SIMD_WIDTH> &, const Vec<T, SIMD_WIDTH> &). | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::maskz_add (const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a, const Vec< T, SIMD_WIDTH > &b) |
Zero-masked version of add(const Vec<T, SIMD_WIDTH> &, const Vec<T, SIMD_WIDTH> &). | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::maskz_adds (const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a, const Vec< T, SIMD_WIDTH > &b) |
Zero-masked version of adds(const Vec<T, SIMD_WIDTH> &, const Vec<T, SIMD_WIDTH> &). | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::maskz_avg (const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a, const Vec< T, SIMD_WIDTH > &b) |
Zero-masked version of avg(const Vec<T, SIMD_WIDTH> &a, const Vec<T, SIMD_WIDTH> &b). | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::maskz_div (const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a, const Vec< T, SIMD_WIDTH > &b) |
Zero-masked version of div(const Vec<T, SIMD_WIDTH> &, const Vec<T, SIMD_WIDTH> &). | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::maskz_div2r0 (const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a) |
Zero-masked version of div2r0(const Vec<T, SIMD_WIDTH> &). | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::maskz_div2rd (const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a) |
Zero-masked version of div2rd(const Vec<T, SIMD_WIDTH> &). | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::maskz_mul (const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a, const Vec< T, SIMD_WIDTH > &b) |
Zero-masked version of mul(const Vec<T, SIMD_WIDTH> &, const Vec<T, SIMD_WIDTH> &). | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::maskz_sub (const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a, const Vec< T, SIMD_WIDTH > &b) |
Zero-masked version of sub(const Vec<T, SIMD_WIDTH> &, const Vec<T, SIMD_WIDTH> &). | |
template<typename T , size_t SIMD_WIDTH> | |
static Vec< T, SIMD_WIDTH > | simd::maskz_subs (const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a, const Vec< T, SIMD_WIDTH > &b) |
Zero-masked version of subs(const Vec<T, SIMD_WIDTH> &, const Vec<T, SIMD_WIDTH> &). | |