|
#define | HWY_CXX_LANG __cplusplus |
|
#define | __STDC_FORMAT_MACROS |
|
#define | HWY_STR_IMPL(macro) #macro |
|
#define | HWY_STR(macro) HWY_STR_IMPL(macro) |
|
#define | HWY_RESTRICT __restrict__ |
|
#define | HWY_INLINE inline |
|
#define | HWY_NOINLINE __attribute__((noinline)) |
|
#define | HWY_FLATTEN __attribute__((flatten)) |
|
#define | HWY_NORETURN __attribute__((noreturn)) |
|
#define | HWY_LIKELY(expr) __builtin_expect(!!(expr), 1) |
|
#define | HWY_UNLIKELY(expr) __builtin_expect(!!(expr), 0) |
|
#define | HWY_PRAGMA(tokens) _Pragma(#tokens) |
|
#define | HWY_DIAGNOSTICS(tokens) HWY_PRAGMA(GCC diagnostic tokens) |
|
#define | HWY_DIAGNOSTICS_OFF(msc, gcc) HWY_DIAGNOSTICS(gcc) |
|
#define | HWY_MAYBE_UNUSED __attribute__((unused)) |
|
#define | HWY_MUST_USE_RESULT __attribute__((warn_unused_result)) |
|
#define | HWY_FORMAT(idx_fmt, idx_arg) |
|
#define | HWY_ASSUME_ALIGNED(ptr, align) (ptr) /* not supported */ |
|
#define | HWY_RCAST_ALIGNED(type, ptr) reinterpret_cast<type>(HWY_ASSUME_ALIGNED((ptr), alignof(RemovePtr<type>))) |
|
#define | HWY_PUSH_ATTRIBUTES(targets_str) |
|
#define | HWY_POP_ATTRIBUTES |
|
#define | HWY_API static HWY_INLINE HWY_FLATTEN HWY_MAYBE_UNUSED |
|
#define | HWY_CONCAT_IMPL(a, b) a##b |
|
#define | HWY_CONCAT(a, b) HWY_CONCAT_IMPL(a, b) |
|
#define | HWY_MIN(a, b) ((a) < (b) ? (a) : (b)) |
|
#define | HWY_MAX(a, b) ((a) > (b) ? (a) : (b)) |
|
#define | HWY_UNROLL(factor) |
|
#define | HWY_DEFAULT_UNROLL |
|
#define | HWY_ASSUME(expr) static_cast<void>(0) |
|
#define | HWY_FENCE |
|
#define | HWY_REP4(literal) literal, literal, literal, literal |
|
#define | HWY_ABORT(format, ...) ::hwy::Abort(__FILE__, __LINE__, format, ##__VA_ARGS__) |
|
#define | HWY_ASSERT(condition) |
|
#define | HWY_IS_MSAN 0 |
|
#define | HWY_IS_ASAN 0 |
|
#define | HWY_IS_TSAN 0 |
|
#define | HWY_IS_UBSAN 0 |
|
#define | HWY_ATTR_NO_MSAN |
|
#define | HWY_IS_DEBUG_BUILD 1 |
|
#define | HWY_DASSERT(condition) HWY_ASSERT(condition) |
|
#define | HWY_CXX17_CONSTEXPR |
|
#define | HWY_CXX14_CONSTEXPR |
|
#define | HWY_IF_CONSTEXPR if |
|
#define | HWY_HAVE_CXX20_THREE_WAY_COMPARE 0 |
|
#define | HWY_ALIGN_MAX alignas(16) |
|
#define | HWY_IF_V_SIZE(T, kN, bytes) hwy::EnableIf<kN * sizeof(T) == bytes>* = nullptr |
|
#define | HWY_IF_V_SIZE_LE(T, kN, bytes) hwy::EnableIf<kN * sizeof(T) <= bytes>* = nullptr |
|
#define | HWY_IF_V_SIZE_GT(T, kN, bytes) hwy::EnableIf<(kN * sizeof(T) > bytes)>* = nullptr |
|
#define | HWY_IF_LANES(kN, lanes) hwy::EnableIf<(kN == lanes)>* = nullptr |
|
#define | HWY_IF_LANES_LE(kN, lanes) hwy::EnableIf<(kN <= lanes)>* = nullptr |
|
#define | HWY_IF_LANES_GT(kN, lanes) hwy::EnableIf<(kN > lanes)>* = nullptr |
|
#define | HWY_IF_UNSIGNED(T) hwy::EnableIf<!hwy::IsSigned<T>()>* = nullptr |
|
#define | HWY_IF_NOT_UNSIGNED(T) hwy::EnableIf<hwy::IsSigned<T>()>* = nullptr |
|
#define | HWY_IF_SIGNED(T) |
|
#define | HWY_IF_FLOAT(T) hwy::EnableIf<hwy::IsFloat<T>()>* = nullptr |
|
#define | HWY_IF_NOT_FLOAT(T) hwy::EnableIf<!hwy::IsFloat<T>()>* = nullptr |
|
#define | HWY_IF_FLOAT3264(T) hwy::EnableIf<hwy::IsFloat3264<T>()>* = nullptr |
|
#define | HWY_IF_NOT_FLOAT3264(T) hwy::EnableIf<!hwy::IsFloat3264<T>()>* = nullptr |
|
#define | HWY_IF_SPECIAL_FLOAT(T) hwy::EnableIf<hwy::IsSpecialFloat<T>()>* = nullptr |
|
#define | HWY_IF_NOT_SPECIAL_FLOAT(T) hwy::EnableIf<!hwy::IsSpecialFloat<T>()>* = nullptr |
|
#define | HWY_IF_FLOAT_OR_SPECIAL(T) hwy::EnableIf<hwy::IsFloat<T>() || hwy::IsSpecialFloat<T>()>* = nullptr |
|
#define | HWY_IF_NOT_FLOAT_NOR_SPECIAL(T) hwy::EnableIf<!hwy::IsFloat<T>() && !hwy::IsSpecialFloat<T>()>* = nullptr |
|
#define | HWY_IF_INTEGER(T) hwy::EnableIf<hwy::IsInteger<T>()>* = nullptr |
|
#define | HWY_IF_T_SIZE(T, bytes) hwy::EnableIf<sizeof(T) == (bytes)>* = nullptr |
|
#define | HWY_IF_NOT_T_SIZE(T, bytes) hwy::EnableIf<sizeof(T) != (bytes)>* = nullptr |
|
#define | HWY_IF_T_SIZE_ONE_OF(T, bit_array) hwy::EnableIf<((size_t{1} << sizeof(T)) & (bit_array)) != 0>* = nullptr |
|
#define | HWY_IF_T_SIZE_LE(T, bytes) hwy::EnableIf<(sizeof(T) <= (bytes))>* = nullptr |
|
#define | HWY_IF_T_SIZE_GT(T, bytes) hwy::EnableIf<(sizeof(T) > (bytes))>* = nullptr |
|
#define | HWY_IF_SAME(T, expected) hwy::EnableIf<hwy::IsSame<hwy::RemoveCvRef<T>, expected>()>* = nullptr |
|
#define | HWY_IF_NOT_SAME(T, expected) hwy::EnableIf<!hwy::IsSame<hwy::RemoveCvRef<T>, expected>()>* = nullptr |
|
#define | HWY_IF_SAME2(T, expected1, expected2) |
|
#define | HWY_IF_U8(T) HWY_IF_SAME(T, uint8_t) |
|
#define | HWY_IF_U16(T) HWY_IF_SAME(T, uint16_t) |
|
#define | HWY_IF_U32(T) HWY_IF_SAME(T, uint32_t) |
|
#define | HWY_IF_U64(T) HWY_IF_SAME(T, uint64_t) |
|
#define | HWY_IF_I8(T) HWY_IF_SAME(T, int8_t) |
|
#define | HWY_IF_I16(T) HWY_IF_SAME(T, int16_t) |
|
#define | HWY_IF_I32(T) HWY_IF_SAME(T, int32_t) |
|
#define | HWY_IF_I64(T) HWY_IF_SAME(T, int64_t) |
|
#define | HWY_IF_BF16(T) HWY_IF_SAME(T, hwy::bfloat16_t) |
|
#define | HWY_IF_NOT_BF16(T) HWY_IF_NOT_SAME(T, hwy::bfloat16_t) |
|
#define | HWY_IF_F16(T) HWY_IF_SAME(T, hwy::float16_t) |
|
#define | HWY_IF_NOT_F16(T) HWY_IF_NOT_SAME(T, hwy::float16_t) |
|
#define | HWY_IF_F32(T) HWY_IF_SAME(T, float) |
|
#define | HWY_IF_F64(T) HWY_IF_SAME(T, double) |
|
#define | HWY_IF_UI8(T) HWY_IF_SAME2(T, uint8_t, int8_t) |
|
#define | HWY_IF_UI16(T) HWY_IF_SAME2(T, uint16_t, int16_t) |
|
#define | HWY_IF_UI32(T) HWY_IF_SAME2(T, uint32_t, int32_t) |
|
#define | HWY_IF_UI64(T) HWY_IF_SAME2(T, uint64_t, int64_t) |
|
#define | HWY_IF_LANES_PER_BLOCK(T, N, LANES) hwy::EnableIf<HWY_MIN(sizeof(T) * N, 16) / sizeof(T) == (LANES)>* = nullptr |
|
#define | HWY_IF_CASTABLE(From, To) hwy::EnableIf<IsStaticCastable<From, To>()>* = nullptr |
|
#define | HWY_IF_OP_CASTABLE(op, T, Native) HWY_IF_CASTABLE(decltype(DeclVal<Native>() op DeclVal<T>()), Native) |
|
#define | HWY_IF_ASSIGNABLE(T, From) hwy::EnableIf<IsAssignable<T, From>()>* = nullptr |
|
#define | HWY_BITCASTSCALAR_CONSTEXPR |
|
#define | HWY_BITCASTSCALAR_CXX14_CONSTEXPR |
|
#define | HWY_NEON_HAVE_F16C 0 |
|
#define | HWY_RVV_HAVE_F16_VEC 0 |
|
#define | HWY_SSE2_HAVE_F16_TYPE 0 |
|
#define | HWY_HAVE_SCALAR_F16_TYPE 0 |
|
#define | HWY_HAVE_SCALAR_F16_OPERATORS 0 |
|
#define | HWY_F16_CONSTEXPR HWY_BITCASTSCALAR_CXX14_CONSTEXPR |
|
#define | HWY_F16_FROM_F32_DASSERT(condition) HWY_DASSERT(condition) |
|
#define | HWY_ARM_HAVE_SCALAR_BF16_TYPE 0 |
|
#define | HWY_SSE2_HAVE_SCALAR_BF16_TYPE 0 |
|
#define | HWY_HAVE_SCALAR_BF16_TYPE 0 |
|
#define | HWY_HAVE_SCALAR_BF16_OPERATORS 0 |
|
#define | HWY_BF16_CONSTEXPR HWY_BITCASTSCALAR_CONSTEXPR |
|
#define | HWY_BF16_TO_F16_CONSTEXPR HWY_F16_CONSTEXPR |
|
|
HWY_DLLEXPORT HWY_NORETURN void | hwy::HWY_FORMAT (3, 4) Abort(const char *file |
|
template<size_t kBytes, typename From , typename To > |
HWY_API void | hwy::CopyBytes (const From *from, To *to) |
|
HWY_API void | hwy::CopyBytes (const void *HWY_RESTRICT from, void *HWY_RESTRICT to, size_t num_of_bytes_to_copy) |
|
template<typename From , typename To > |
HWY_API void | hwy::CopySameSize (const From *HWY_RESTRICT from, To *HWY_RESTRICT to) |
|
template<size_t kBytes, typename To > |
HWY_API void | hwy::ZeroBytes (To *to) |
|
HWY_API void | hwy::ZeroBytes (void *to, size_t num_bytes) |
|
static HWY_MAYBE_UNUSED bool | hwy::operator< (const uint128_t &a, const uint128_t &b) |
|
static HWY_MAYBE_UNUSED bool | hwy::operator> (const uint128_t &a, const uint128_t &b) |
|
static HWY_MAYBE_UNUSED bool | hwy::operator== (const uint128_t &a, const uint128_t &b) |
|
static HWY_MAYBE_UNUSED bool | hwy::operator< (const K64V64 &a, const K64V64 &b) |
|
static HWY_MAYBE_UNUSED bool | hwy::operator> (const K64V64 &a, const K64V64 &b) |
|
static HWY_MAYBE_UNUSED bool | hwy::operator== (const K64V64 &a, const K64V64 &b) |
|
static HWY_MAYBE_UNUSED bool | hwy::operator< (const K32V32 &a, const K32V32 &b) |
|
static HWY_MAYBE_UNUSED bool | hwy::operator> (const K32V32 &a, const K32V32 &b) |
|
static HWY_MAYBE_UNUSED bool | hwy::operator== (const K32V32 &a, const K32V32 &b) |
|
template<typename T , typename U > |
HWY_API constexpr bool | hwy::IsSame () |
|
template<typename T , typename U1 , typename U2 > |
HWY_API constexpr bool | hwy::IsSameEither () |
|
template<typename T > |
HWY_API constexpr bool | hwy::IsConst () |
|
template<class T > |
HWY_API DeclValT< T >::type | hwy::DeclVal () noexcept |
|
template<class T > |
static constexpr bool | hwy::IsArray () |
|
template<class From , class To > |
HWY_API constexpr bool | hwy::IsConvertible () |
|
template<class From , class To > |
static constexpr bool | hwy::IsStaticCastable () |
|
template<class T , class From > |
static constexpr bool | hwy::IsAssignable () |
|
template<typename T > |
HWY_API constexpr bool | hwy::IsSpecialFloat () |
|
template<class T > |
HWY_API constexpr bool | hwy::IsIntegerLaneType () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsIntegerLaneType< int8_t > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsIntegerLaneType< uint8_t > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsIntegerLaneType< int16_t > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsIntegerLaneType< uint16_t > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsIntegerLaneType< int32_t > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsIntegerLaneType< uint32_t > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsIntegerLaneType< int64_t > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsIntegerLaneType< uint64_t > () |
|
template<class T > |
HWY_API constexpr bool | hwy::IsInteger () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsInteger< bool > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsInteger< char > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsInteger< signed char > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsInteger< unsigned char > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsInteger< short > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsInteger< unsigned short > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsInteger< int > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsInteger< unsigned > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsInteger< long > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsInteger< unsigned long > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsInteger< long long > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsInteger< unsigned long long > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsInteger< char16_t > () |
|
template<> |
HWY_INLINE constexpr bool | hwy::IsInteger< char32_t > () |
|
template<class To , class From > |
HWY_API HWY_BITCASTSCALAR_CONSTEXPR To | hwy::BitCastScalar (const From &val) |
|
HWY_API HWY_F16_CONSTEXPR float | hwy::F32FromF16 (float16_t f16) |
|
HWY_API HWY_F16_CONSTEXPR float16_t | hwy::F16FromF32 (float f32) |
|
HWY_API HWY_F16_CONSTEXPR float16_t | hwy::F16FromF64 (double f64) |
|
HWY_F16_CONSTEXPR bool | hwy::operator== (float16_t lhs, float16_t rhs) noexcept |
|
HWY_F16_CONSTEXPR bool | hwy::operator!= (float16_t lhs, float16_t rhs) noexcept |
|
HWY_F16_CONSTEXPR bool | hwy::operator< (float16_t lhs, float16_t rhs) noexcept |
|
HWY_F16_CONSTEXPR bool | hwy::operator<= (float16_t lhs, float16_t rhs) noexcept |
|
HWY_F16_CONSTEXPR bool | hwy::operator> (float16_t lhs, float16_t rhs) noexcept |
|
HWY_F16_CONSTEXPR bool | hwy::operator>= (float16_t lhs, float16_t rhs) noexcept |
|
HWY_API HWY_BF16_CONSTEXPR float | hwy::F32FromBF16 (bfloat16_t bf) |
|
static HWY_INLINE HWY_MAYBE_UNUSED constexpr uint32_t | hwy::detail::F32BitsToBF16RoundIncr (const uint32_t f32_bits) |
|
static HWY_INLINE HWY_MAYBE_UNUSED constexpr uint16_t | hwy::detail::F32BitsToBF16Bits (const uint32_t f32_bits) |
|
HWY_API HWY_BF16_CONSTEXPR bfloat16_t | hwy::BF16FromF32 (float f) |
|
HWY_API HWY_BF16_CONSTEXPR bfloat16_t | hwy::BF16FromF64 (double f64) |
|
HWY_BF16_CONSTEXPR bool | hwy::operator== (bfloat16_t lhs, bfloat16_t rhs) noexcept |
|
HWY_BF16_CONSTEXPR bool | hwy::operator!= (bfloat16_t lhs, bfloat16_t rhs) noexcept |
|
HWY_BF16_CONSTEXPR bool | hwy::operator< (bfloat16_t lhs, bfloat16_t rhs) noexcept |
|
HWY_BF16_CONSTEXPR bool | hwy::operator<= (bfloat16_t lhs, bfloat16_t rhs) noexcept |
|
HWY_BF16_CONSTEXPR bool | hwy::operator> (bfloat16_t lhs, bfloat16_t rhs) noexcept |
|
HWY_BF16_CONSTEXPR bool | hwy::operator>= (bfloat16_t lhs, bfloat16_t rhs) noexcept |
|
template<typename T , class R = detail::Relations<T>> |
constexpr auto | hwy::TypeTag () -> hwy::SizeTag<((R::is_signed+R::is_float+R::is_bf16)<< 8)> |
|
template<typename T , class R = detail::Relations<T>> |
constexpr auto | hwy::IsFloatTag () -> hwy::SizeTag<(R::is_float ? 0x200 :0x400)> |
|
template<typename T > |
HWY_API constexpr bool | hwy::IsFloat3264 () |
|
template<typename T > |
HWY_API constexpr bool | hwy::IsFloat () |
|
template<typename T > |
HWY_API constexpr bool | hwy::IsSigned () |
|
template<> |
constexpr bool | hwy::IsSigned< float16_t > () |
|
template<> |
constexpr bool | hwy::IsSigned< bfloat16_t > () |
|
template<> |
constexpr bool | hwy::IsSigned< hwy::uint128_t > () |
|
template<> |
constexpr bool | hwy::IsSigned< hwy::K64V64 > () |
|
template<> |
constexpr bool | hwy::IsSigned< hwy::K32V32 > () |
|
template<typename T > |
HWY_API constexpr T | hwy::LimitsMax () |
|
template<typename T > |
HWY_API constexpr T | hwy::LimitsMin () |
|
template<typename T > |
HWY_API HWY_BITCASTSCALAR_CONSTEXPR T | hwy::LowestValue () |
|
template<> |
HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR bfloat16_t | hwy::LowestValue< bfloat16_t > () |
|
template<> |
HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR float16_t | hwy::LowestValue< float16_t > () |
|
template<> |
HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR float | hwy::LowestValue< float > () |
|
template<> |
HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR double | hwy::LowestValue< double > () |
|
template<typename T > |
HWY_API HWY_BITCASTSCALAR_CONSTEXPR T | hwy::HighestValue () |
|
template<> |
HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR bfloat16_t | hwy::HighestValue< bfloat16_t > () |
|
template<> |
HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR float16_t | hwy::HighestValue< float16_t > () |
|
template<> |
HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR float | hwy::HighestValue< float > () |
|
template<> |
HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR double | hwy::HighestValue< double > () |
|
template<typename T > |
HWY_API HWY_BITCASTSCALAR_CONSTEXPR T | hwy::Epsilon () |
|
template<> |
HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR bfloat16_t | hwy::Epsilon< bfloat16_t > () |
|
template<> |
HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR float16_t | hwy::Epsilon< float16_t > () |
|
template<> |
HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR float | hwy::Epsilon< float > () |
|
template<> |
HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR double | hwy::Epsilon< double > () |
|
template<typename T > |
constexpr int | hwy::MantissaBits () |
|
template<> |
constexpr int | hwy::MantissaBits< bfloat16_t > () |
|
template<> |
constexpr int | hwy::MantissaBits< float16_t > () |
|
template<> |
constexpr int | hwy::MantissaBits< float > () |
|
template<> |
constexpr int | hwy::MantissaBits< double > () |
|
template<typename T > |
constexpr MakeSigned< T > | hwy::MaxExponentTimes2 () |
|
template<typename T > |
constexpr MakeUnsigned< T > | hwy::SignMask () |
|
template<typename T > |
constexpr MakeUnsigned< T > | hwy::ExponentMask () |
|
template<typename T > |
constexpr MakeUnsigned< T > | hwy::MantissaMask () |
|
template<typename T > |
HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR T | hwy::MantissaEnd () |
|
template<> |
HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR bfloat16_t | hwy::MantissaEnd< bfloat16_t > () |
|
template<> |
HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR float16_t | hwy::MantissaEnd< float16_t > () |
|
template<> |
HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR float | hwy::MantissaEnd< float > () |
|
template<> |
HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR double | hwy::MantissaEnd< double > () |
|
template<typename T > |
constexpr int | hwy::ExponentBits () |
|
template<typename T > |
constexpr MakeSigned< T > | hwy::MaxExponentField () |
|
HWY_API float | hwy::F32FromF16Mem (const void *ptr) |
|
HWY_API float | hwy::F32FromBF16Mem (const void *ptr) |
|
template<typename TTo , typename TFrom , HWY_IF_NOT_SPECIAL_FLOAT(TTo) , HWY_IF_NOT_SPECIAL_FLOAT(TFrom) , HWY_IF_NOT_SAME(TTo, TFrom) > |
HWY_API constexpr TTo | hwy::ConvertScalarTo (const TFrom in) |
|
template<typename TTo , HWY_IF_F16(TTo) > |
HWY_API HWY_BF16_TO_F16_CONSTEXPR TTo | hwy::ConvertScalarTo (const hwy::bfloat16_t in) |
|
template<typename TTo , HWY_IF_F16(TTo) > |
HWY_API HWY_F16_CONSTEXPR TTo | hwy::ConvertScalarTo (const double in) |
|
template<typename TTo , typename TFrom , HWY_IF_BF16(TTo) , HWY_IF_NOT_SPECIAL_FLOAT(TFrom) , HWY_IF_NOT_SAME(TFrom, double) > |
HWY_API HWY_BF16_CONSTEXPR TTo | hwy::ConvertScalarTo (const TFrom in) |
|
template<typename TTo , HWY_IF_BF16(TTo) > |
HWY_API HWY_BF16_TO_F16_CONSTEXPR TTo | hwy::ConvertScalarTo (const hwy::float16_t in) |
|
template<typename TTo , HWY_IF_BF16(TTo) > |
HWY_API HWY_BF16_CONSTEXPR TTo | hwy::ConvertScalarTo (const double in) |
|
template<typename TTo , typename TFrom , HWY_IF_F16(TFrom) , HWY_IF_NOT_SPECIAL_FLOAT(TTo) > |
HWY_API HWY_F16_CONSTEXPR TTo | hwy::ConvertScalarTo (const TFrom in) |
|
template<typename TTo , typename TFrom , HWY_IF_BF16(TFrom) , HWY_IF_NOT_SPECIAL_FLOAT(TTo) > |
HWY_API HWY_BF16_CONSTEXPR TTo | hwy::ConvertScalarTo (TFrom in) |
|
template<typename TTo > |
HWY_API constexpr TTo | hwy::ConvertScalarTo (TTo in) |
|
template<typename T1 , typename T2 > |
constexpr T1 | hwy::DivCeil (T1 a, T2 b) |
|
constexpr size_t | hwy::RoundUpTo (size_t what, size_t align) |
|
constexpr size_t | hwy::RoundDownTo (size_t what, size_t align) |
|
template<class T > |
static HWY_INLINE constexpr T | hwy::detail::ScalarShr (hwy::UnsignedTag, T val, int shift_amt) |
|
template<class T > |
static HWY_INLINE constexpr T | hwy::detail::ScalarShr (hwy::SignedTag, T val, int shift_amt) |
|
template<class T , HWY_IF_INTEGER(RemoveCvRef< T >) > |
HWY_API constexpr RemoveCvRef< T > | hwy::ScalarShr (T val, int shift_amt) |
|
HWY_API size_t | hwy::Num0BitsBelowLS1Bit_Nonzero32 (const uint32_t x) |
|
HWY_API size_t | hwy::Num0BitsBelowLS1Bit_Nonzero64 (const uint64_t x) |
|
HWY_API size_t | hwy::Num0BitsAboveMS1Bit_Nonzero32 (const uint32_t x) |
|
HWY_API size_t | hwy::Num0BitsAboveMS1Bit_Nonzero64 (const uint64_t x) |
|
template<class T , HWY_IF_INTEGER(RemoveCvRef< T >) , HWY_IF_T_SIZE_ONE_OF(RemoveCvRef< T >,(1<< 1)|(1<< 2)|(1<< 4)) > |
HWY_API size_t | hwy::PopCount (T x) |
|
template<typename TI > |
constexpr size_t | hwy::FloorLog2 (TI x) |
|
template<typename TI > |
constexpr size_t | hwy::CeilLog2 (TI x) |
|
template<typename T , typename T2 , HWY_IF_FLOAT(T) , HWY_IF_NOT_SPECIAL_FLOAT(T) > |
HWY_INLINE constexpr T | hwy::AddWithWraparound (T t, T2 increment) |
|
template<typename T , typename T2 , HWY_IF_SPECIAL_FLOAT(T) > |
HWY_INLINE constexpr T | hwy::AddWithWraparound (T t, T2 increment) |
|
HWY_API uint64_t | hwy::Mul128 (uint64_t a, uint64_t b, uint64_t *HWY_RESTRICT upper) |
|
HWY_API int64_t | hwy::Mul128 (int64_t a, int64_t b, int64_t *HWY_RESTRICT upper) |
|
template<typename T > |
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR T | hwy::detail::ScalarAbs (hwy::FloatTag, T val) |
|
template<typename T > |
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR T | hwy::detail::ScalarAbs (hwy::SpecialTag, T val) |
|
template<typename T > |
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR T | hwy::detail::ScalarAbs (hwy::SignedTag, T val) |
|
template<typename T > |
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR T | hwy::detail::ScalarAbs (hwy::UnsignedTag, T val) |
|
template<typename T > |
HWY_API HWY_BITCASTSCALAR_CONSTEXPR RemoveCvRef< T > | hwy::ScalarAbs (T val) |
|
template<typename T > |
HWY_API HWY_BITCASTSCALAR_CONSTEXPR bool | hwy::ScalarIsNaN (T val) |
|
template<typename T > |
HWY_API HWY_BITCASTSCALAR_CONSTEXPR bool | hwy::ScalarIsInf (T val) |
|
template<typename T > |
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR bool | hwy::detail::ScalarIsFinite (hwy::FloatTag, T val) |
|
template<typename T > |
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR bool | hwy::detail::ScalarIsFinite (hwy::NonFloatTag, T) |
|
template<typename T > |
HWY_API HWY_BITCASTSCALAR_CONSTEXPR bool | hwy::ScalarIsFinite (T val) |
|
template<typename T > |
HWY_API HWY_BITCASTSCALAR_CONSTEXPR RemoveCvRef< T > | hwy::ScalarCopySign (T magn, T sign) |
|
template<typename T > |
HWY_API HWY_BITCASTSCALAR_CONSTEXPR bool | hwy::ScalarSignBit (T val) |
|
template<class T > |
HWY_API void | hwy::PreventElision (T &&output) |
|