Struct faiss::simd256bit
-
struct simd256bit
256-bit representation without interpretation as a vector
Simple wrapper around the AVX 256-bit registers
The objective is to separate the different interpretations of the same registers (as a vector of uint8, uint16 or uint32), to provide printing functions, and to give more readable names to the AVX intrinsics. It does not pretend to be exhausitve, functions are added as needed.
Subclassed by faiss::simd16uint16, faiss::simd16uint16, faiss::simd16uint16, faiss::simd32uint8, faiss::simd32uint8, faiss::simd32uint8, faiss::simd8float32, faiss::simd8float32, faiss::simd8float32, faiss::simd8uint32, faiss::simd8uint32, faiss::simd8uint32
Public Functions
-
inline simd256bit()
-
inline explicit simd256bit(__m256i i)
-
inline explicit simd256bit(__m256 f)
-
inline explicit simd256bit(const void *x)
-
inline void clear()
-
inline void storeu(void *ptr) const
-
inline void loadu(const void *ptr)
-
inline void store(void *ptr) const
-
inline void bin(char bits[257]) const
-
inline std::string bin() const
-
inline bool is_same_as(simd256bit other) const
-
inline simd256bit()
-
inline explicit simd256bit(const void *x)
-
inline void clear()
-
inline void storeu(void *ptr) const
-
inline void loadu(const void *ptr)
-
inline void store(void *ptr) const
-
inline void bin(char bits[257]) const
-
inline std::string bin() const
-
inline bool is_same_as(simd256bit other) const
-
inline simd256bit()
-
inline explicit simd256bit(const void *x)
-
inline void clear()
-
inline void storeu(void *ptr) const
-
inline void loadu(const void *ptr)
-
inline void store(void *ptr) const
-
inline void bin(char bits[257]) const
-
inline std::string bin() const
-
inline bool is_same_as(simd256bit other) const
Public Members
-
__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]
-
union faiss::simd256bit::[anonymous] [anonymous]
-
inline simd256bit()