Namespace faiss::detail::simdlib
-
namespace simdlib
Typedefs
Functions
-
static inline uint8x16x2_t reinterpret_u8(const uint8x16x2_t &v)
-
static inline uint8x16x2_t reinterpret_u8(const uint16x8x2_t &v)
-
static inline uint8x16x2_t reinterpret_u8(const uint32x4x2_t &v)
-
static inline uint8x16x2_t reinterpret_u8(const float32x4x2_t &v)
-
static inline uint16x8x2_t reinterpret_u16(const uint8x16x2_t &v)
-
static inline uint16x8x2_t reinterpret_u16(const uint16x8x2_t &v)
-
static inline uint16x8x2_t reinterpret_u16(const uint32x4x2_t &v)
-
static inline uint16x8x2_t reinterpret_u16(const float32x4x2_t &v)
-
static inline uint32x4x2_t reinterpret_u32(const uint8x16x2_t &v)
-
static inline uint32x4x2_t reinterpret_u32(const uint16x8x2_t &v)
-
static inline uint32x4x2_t reinterpret_u32(const uint32x4x2_t &v)
-
static inline uint32x4x2_t reinterpret_u32(const float32x4x2_t &v)
-
static inline float32x4x2_t reinterpret_f32(const uint8x16x2_t &v)
-
static inline float32x4x2_t reinterpret_f32(const uint16x8x2_t &v)
-
static inline float32x4x2_t reinterpret_f32(const uint32x4x2_t &v)
-
static inline float32x4x2_t reinterpret_f32(const float32x4x2_t &v)
-
static inline ::uint16x8_t vdupq_n_u16(std::uint16_t v)
-
static inline ::uint8x16_t vdupq_n_u8(std::uint8_t v)
-
static inline void bin(const char (&bytes)[32], char bits[257])
-
template<typename T, size_t N, typename S>
static inline void bin(const S &simd, char bits[257])
-
template<typename T, size_t N, typename S>
static inline std::string elements_to_string(const char *fmt, const S &simd)
-
template<typename T>
static inline unary_func_impl<remove_cv_ref_t<T>, remove_cv_ref_t<T>> unary_func(const T &a)
-
template<typename T, typename U>
static inline unary_func_impl<remove_cv_ref_t<T>, remove_cv_ref_t<U>> unary_func(const U &a)
-
template<typename T>
static inline binary_func_impl<remove_cv_ref_t<T>, remove_cv_ref_t<T>> binary_func(const T &a, const T &b)
-
template<typename T, typename U>
static inline binary_func_impl<remove_cv_ref_t<T>, remove_cv_ref_t<U>> binary_func(const U &a, const U &b)
-
static inline uint16_t vmovmask_u8(const uint8x16_t &v)
-
template<uint16x8_t (*F)(uint16x8_t, uint16x8_t)>
static inline uint32_t cmp_xe32(const uint16x8x2_t &d0, const uint16x8x2_t &d1, const uint16x8x2_t &thr)
-
template<std::uint8_t Shift>
static inline uint16x8_t vshlq(uint16x8_t vec)
-
template<std::uint8_t Shift>
static inline uint16x8_t vshrq(uint16x8_t vec)
-
template<typename T, typename U = decltype(reinterpret_u8(std::declval<T>().data))>
struct is_simd256bit : public std::is_same<decltype(reinterpret_u8(std::declval<T>().data)), uint8x16x2_t>
-
template<typename D, typename T>
struct set1_impl Public Functions
-
template<remove_cv_ref_t<decltype(std::declval<D>().val[0])> (*F)(T)>
inline void call()
-
template<remove_cv_ref_t<decltype(std::declval<D>().val[0])> (*F)(T)>
-
template<typename T, typename U>
struct unary_func_impl Public Types
-
using Telem = remove_cv_ref_t<decltype(std::declval<T>().val[0])>
-
using Uelem = remove_cv_ref_t<decltype(std::declval<U>().val[0])>
Public Members
-
const U &a
-
using Telem = remove_cv_ref_t<decltype(std::declval<T>().val[0])>
-
template<typename T, typename U>
struct binary_func_impl Public Types
-
using Telem = remove_cv_ref_t<decltype(std::declval<T>().val[0])>
-
using Uelem = remove_cv_ref_t<decltype(std::declval<U>().val[0])>
-
using Telem = remove_cv_ref_t<decltype(std::declval<T>().val[0])>
-
static inline uint8x16x2_t reinterpret_u8(const uint8x16x2_t &v)