T-SIMD v31.1.0
A C++ template SIMD library
Loading...
Searching...
No Matches
Masked Mathematical Operations

Description

Masked mathematical operations on Vec's, such as min, max, rounding, etc.

See also
Mathematical Operations

Functions

template<typename T , size_t SIMD_WIDTH>
static Vec< T, SIMD_WIDTH > simd::mask_abs (const Vec< T, SIMD_WIDTH > &src, const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a)
 Masked version of abs(const Vec<T, SIMD_WIDTH> &).
 
template<typename T , size_t SIMD_WIDTH>
static Vec< T, SIMD_WIDTH > simd::mask_ceil (const Vec< T, SIMD_WIDTH > &src, const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a)
 Masked version of ceil(const Vec<T, SIMD_WIDTH> &).
 
template<typename T , size_t SIMD_WIDTH>
static Vec< T, SIMD_WIDTH > simd::mask_floor (const Vec< T, SIMD_WIDTH > &src, const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a)
 Masked version of floor(const Vec<T, SIMD_WIDTH> &).
 
template<typename T , size_t SIMD_WIDTH>
static Vec< T, SIMD_WIDTH > simd::mask_max (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 max(const Vec<T, SIMD_WIDTH> &, const Vec<T, SIMD_WIDTH> &).
 
template<typename T , size_t SIMD_WIDTH>
static Vec< T, SIMD_WIDTH > simd::mask_min (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 min(const Vec<T, SIMD_WIDTH> &, const Vec<T, SIMD_WIDTH> &).
 
template<typename T , size_t SIMD_WIDTH>
static Vec< T, SIMD_WIDTH > simd::mask_neg (const Vec< T, SIMD_WIDTH > &src, const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a)
 Masked version of neg(const Vec<T, SIMD_WIDTH> &).
 
template<typename T , size_t SIMD_WIDTH>
static Vec< T, SIMD_WIDTH > simd::mask_round (const Vec< T, SIMD_WIDTH > &src, const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a)
 Masked version of round(const Vec<T, SIMD_WIDTH> &).
 
template<typename T , size_t SIMD_WIDTH>
static Vec< T, SIMD_WIDTH > simd::mask_truncate (const Vec< T, SIMD_WIDTH > &src, const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a)
 Masked version of truncate(const Vec<T, SIMD_WIDTH> &).
 
template<typename T , size_t SIMD_WIDTH>
static Vec< T, SIMD_WIDTH > simd::maskz_abs (const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a)
 Zero-masked version of abs(const Vec<T, SIMD_WIDTH> &).
 
template<typename T , size_t SIMD_WIDTH>
static Vec< T, SIMD_WIDTH > simd::maskz_ceil (const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a)
 Zero-masked version of ceil(const Vec<T, SIMD_WIDTH> &).
 
template<typename T , size_t SIMD_WIDTH>
static Vec< T, SIMD_WIDTH > simd::maskz_floor (const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a)
 Zero-masked version of floor(const Vec<T, SIMD_WIDTH> &).
 
template<typename T , size_t SIMD_WIDTH>
static Vec< T, SIMD_WIDTH > simd::maskz_max (const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a, const Vec< T, SIMD_WIDTH > &b)
 Zero-masked version of max(const Vec<T, SIMD_WIDTH> &, const Vec<T, SIMD_WIDTH> &).
 
template<typename T , size_t SIMD_WIDTH>
static Vec< T, SIMD_WIDTH > simd::maskz_min (const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a, const Vec< T, SIMD_WIDTH > &b)
 Zero-masked version of min(const Vec<T, SIMD_WIDTH> &, const Vec<T, SIMD_WIDTH> &).
 
template<typename T , size_t SIMD_WIDTH>
static Vec< T, SIMD_WIDTH > simd::maskz_neg (const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a)
 Zero-masked version of neg(const Vec<T, SIMD_WIDTH> &).
 
template<typename T , size_t SIMD_WIDTH>
static Vec< T, SIMD_WIDTH > simd::maskz_round (const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a)
 Zero-masked version of round(const Vec<T, SIMD_WIDTH> &).
 
template<typename T , size_t SIMD_WIDTH>
static Vec< T, SIMD_WIDTH > simd::maskz_truncate (const Mask< T, SIMD_WIDTH > &k, const Vec< T, SIMD_WIDTH > &a)
 Zero-masked version of truncate(const Vec<T, SIMD_WIDTH> &).