Struct faiss::simd16uint16

struct faiss::simd16uint16 : public faiss::simd256bit

vector of 16 elements in uint16

Public Functions

inline simd16uint16()
inline explicit simd16uint16(__m256i i)
inline explicit simd16uint16(int x)
inline explicit simd16uint16(uint16_t x)
inline explicit simd16uint16(simd256bit x)
inline explicit simd16uint16(const uint16_t *x)
inline std::string elements_to_string(const char *fmt) const
inline std::string hex() const
inline std::string dec() const
inline void set1(uint16_t x)
inline simd16uint16 operator>>(const int shift) const
inline simd16uint16 operator<<(const int shift) const
inline simd16uint16 operator+=(simd16uint16 other)
inline simd16uint16 operator-=(simd16uint16 other)
inline simd16uint16 operator+(simd16uint16 other) const
inline simd16uint16 operator-(simd16uint16 other) const
inline simd16uint16 operator&(simd256bit other) const
inline simd16uint16 operator|(simd256bit other) const
inline simd16uint16 operator==(simd256bit other) const
inline simd16uint16 operator~() const
inline uint16_t get_scalar_0() const
inline uint32_t ge_mask(simd16uint16 thresh) const
inline uint32_t le_mask(simd16uint16 thresh) const
inline uint32_t gt_mask(simd16uint16 thresh) const
inline bool all_gt(simd16uint16 thresh) const
inline uint16_t operator[](int i) const
inline void accu_min(simd16uint16 incoming)
inline void accu_max(simd16uint16 incoming)
inline simd16uint16()
inline explicit simd16uint16(int x)
inline explicit simd16uint16(uint16_t x)
inline explicit simd16uint16(const simd256bit &x)
inline explicit simd16uint16(const uint16_t *x)
inline std::string elements_to_string(const char *fmt) const
inline std::string hex() const
inline std::string dec() const
inline void set1(uint16_t x)
inline simd16uint16 operator>>(const int shift) const
inline simd16uint16 operator<<(const int shift) const
inline simd16uint16 operator+=(const simd16uint16 &other)
inline simd16uint16 operator-=(const simd16uint16 &other)
inline simd16uint16 operator+(const simd16uint16 &other) const
inline simd16uint16 operator-(const simd16uint16 &other) const
inline simd16uint16 operator&(const simd256bit &other) const
inline simd16uint16 operator|(const simd256bit &other) const
inline simd16uint16 operator==(const simd16uint16 &other) const
inline simd16uint16 operator~() const
inline uint16_t get_scalar_0() const
inline uint32_t ge_mask(const simd16uint16 &thresh) const
inline uint32_t le_mask(const simd16uint16 &thresh) const
inline uint32_t gt_mask(const simd16uint16 &thresh) const
inline bool all_gt(const simd16uint16 &thresh) const
inline uint16_t operator[](int i) const
inline void accu_min(const simd16uint16 &incoming)
inline void accu_max(const simd16uint16 &incoming)
simd16uint16() = default
inline explicit simd16uint16(int x)
inline explicit simd16uint16(uint16_t x)
inline explicit simd16uint16(const uint16x8x2_t &v)
template<typename T, typename std::enable_if<detail::simdlib::is_simd256bit<T>::value, std::nullptr_t>::type = nullptr>
inline explicit simd16uint16(const T &x)
inline explicit simd16uint16(const uint16_t *x)
inline void clear()
inline void storeu(uint16_t *ptr) const
inline void loadu(const uint16_t *ptr)
inline void store(uint16_t *ptr) const
inline void bin(char bits[257]) const
inline std::string bin() const
inline std::string elements_to_string(const char *fmt) const
inline std::string hex() const
inline std::string dec() const
inline void set1(uint16_t x)
inline simd16uint16 operator>>(const int shift) const
inline simd16uint16 operator<<(const int shift) const
inline simd16uint16 operator+=(const simd16uint16 &other)
inline simd16uint16 operator-=(const simd16uint16 &other)
inline simd16uint16 operator+(const simd16uint16 &other) const
inline simd16uint16 operator-(const simd16uint16 &other) const
template<typename T, typename std::enable_if<detail::simdlib::is_simd256bit<T>::value, std::nullptr_t>::type = nullptr>
inline simd16uint16 operator&(const T &other) const
template<typename T, typename std::enable_if<detail::simdlib::is_simd256bit<T>::value, std::nullptr_t>::type = nullptr>
inline simd16uint16 operator|(const T &other) const
inline simd16uint16 operator==(const simd16uint16 &other) const
inline simd16uint16 operator~() const
inline uint16_t get_scalar_0() const
inline uint32_t ge_mask(const simd16uint16 &thresh) const
inline uint32_t le_mask(const simd16uint16 &thresh) const
inline uint32_t gt_mask(const simd16uint16 &thresh) const
inline bool all_gt(const simd16uint16 &thresh) const
inline uint16_t operator[](int i) const
inline void accu_min(const simd16uint16 &incoming)
inline void accu_max(const simd16uint16 &incoming)
inline void storeu(void *ptr) const
inline void loadu(const void *ptr)
inline void store(void *ptr) const

Public Members

uint16x8x2_t data
__m256i i
__m256 f
union faiss::simd256bit::[anonymous] [anonymous]
uint8_t u8[32]
uint16_t u16[16]
uint32_t u32[8]
float f32[8]
union faiss::simd256bit::[anonymous] [anonymous]

Public Static Functions

template<typename F>
static inline simd16uint16 unary_func(const simd16uint16 &a, F &&f)
template<typename F>
static inline simd16uint16 binary_func(const simd16uint16 &a, const simd16uint16 &b, F &&f)