Grok 12.0.1
Classes | Typedefs | Functions
hwy::detail Namespace Reference

Classes

struct  NativeSpecialFloatToWrapperT
 
struct  Relations
 
struct  Relations< bfloat16_t >
 
struct  Relations< double >
 
struct  Relations< float >
 
struct  Relations< float16_t >
 
struct  Relations< int16_t >
 
struct  Relations< int32_t >
 
struct  Relations< int64_t >
 
struct  Relations< int8_t >
 
struct  Relations< uint128_t >
 
struct  Relations< uint16_t >
 
struct  Relations< uint32_t >
 
struct  Relations< uint64_t >
 
struct  Relations< uint8_t >
 
struct  SpecialFloatUnwrapArithOpOperandT
 
struct  SpecialFloatUnwrapArithOpOperandT< T, TVal, false >
 
struct  TypeFromSize
 
struct  TypeFromSize< 1 >
 
struct  TypeFromSize< 16 >
 
struct  TypeFromSize< 2 >
 
struct  TypeFromSize< 4 >
 
struct  TypeFromSize< 8 >
 
struct  TypeInfo
 

Typedefs

template<class T >
using SpecialFloatUnwrapArithOpOperand
 
template<class T >
using NativeSpecialFloatToWrapper
 

Functions

static constexpr size_t ShiftCount (size_t n)
 
template<typename T >
T * AllocateAlignedItems (size_t items, AllocPtr alloc_ptr, void *opaque_ptr)
 
static HWY_INLINE HWY_MAYBE_UNUSED constexpr uint32_t F32BitsToBF16RoundIncr (const uint32_t f32_bits)
 
static HWY_INLINE HWY_MAYBE_UNUSED constexpr uint16_t F32BitsToBF16Bits (const uint32_t f32_bits)
 
template<class T >
static HWY_INLINE constexpr T ScalarShr (hwy::UnsignedTag, T val, int shift_amt)
 
template<class T >
static HWY_INLINE constexpr T ScalarShr (hwy::SignedTag, T val, int shift_amt)
 
template<typename T >
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPRScalarAbs (hwy::FloatTag, T val)
 
template<typename T >
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPRScalarAbs (hwy::SpecialTag, T val)
 
template<typename T >
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPRScalarAbs (hwy::SignedTag, T val)
 
template<typename T >
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPRScalarAbs (hwy::UnsignedTag, T val)
 
template<typename T >
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR bool ScalarIsFinite (hwy::FloatTag, T val)
 
template<typename T >
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR bool ScalarIsFinite (hwy::NonFloatTag, T)
 
HWY_INLINE void Fill16BytesStatic (void *bytes)
 
HWY_INLINE uint64_t * GetGeneratorStateStatic ()
 
template<typename T >
HWY_INLINE TypeInfo MakeTypeInfo ()
 
HWY_DLLEXPORT void TypeName (const TypeInfo &info, size_t N, char *string100)
 
HWY_DLLEXPORT void ToString (const TypeInfo &info, const void *ptr, char *string100)
 
HWY_DLLEXPORT void PrintArray (const TypeInfo &info, const char *caption, const void *array_void, size_t N, size_t lane_u=0, size_t max_lanes=7)
 
template<typename T , typename TU = MakeUnsigned<T>>
TU ComputeUlpDelta (const T expected, const T actual)
 
HWY_TEST_DLLEXPORT bool IsEqual (const TypeInfo &info, const void *expected_ptr, const void *actual_ptr)
 
HWY_TEST_DLLEXPORT HWY_NORETURN void PrintMismatchAndAbort (const TypeInfo &info, const void *expected_ptr, const void *actual_ptr, const char *target_name, const char *filename, int line, size_t lane=0, size_t num_lanes=1)
 
HWY_TEST_DLLEXPORT void AssertArrayEqual (const TypeInfo &info, const void *expected_void, const void *actual_void, size_t N, const char *target_name, const char *filename, int line)
 

Typedef Documentation

◆ NativeSpecialFloatToWrapper

template<class T >
using hwy::detail::NativeSpecialFloatToWrapper
Initial value:
typename NativeSpecialFloatToWrapperT<T>::type

◆ SpecialFloatUnwrapArithOpOperand

Initial value:
typename SpecialFloatUnwrapArithOpOperandT<T>::type

Function Documentation

◆ AllocateAlignedItems()

template<typename T >
T * hwy::detail::AllocateAlignedItems ( size_t items,
AllocPtr alloc_ptr,
void * opaque_ptr )

◆ AssertArrayEqual()

HWY_TEST_DLLEXPORT void hwy::detail::AssertArrayEqual ( const TypeInfo & info,
const void * expected_void,
const void * actual_void,
size_t N,
const char * target_name,
const char * filename,
int line )

◆ ComputeUlpDelta()

template<typename T , typename TU = MakeUnsigned<T>>
TU hwy::detail::ComputeUlpDelta ( const T expected,
const T actual )

References hwy::CopySameSize(), HWY_MAX, and HWY_MIN.

◆ F32BitsToBF16Bits()

static HWY_INLINE HWY_MAYBE_UNUSED constexpr uint16_t hwy::detail::F32BitsToBF16Bits ( const uint32_t f32_bits)
staticconstexpr

◆ F32BitsToBF16RoundIncr()

static HWY_INLINE HWY_MAYBE_UNUSED constexpr uint32_t hwy::detail::F32BitsToBF16RoundIncr ( const uint32_t f32_bits)
staticconstexpr

◆ Fill16BytesStatic()

HWY_INLINE void hwy::detail::Fill16BytesStatic ( void * bytes)

◆ GetGeneratorStateStatic()

HWY_INLINE uint64_t * hwy::detail::GetGeneratorStateStatic ( )

◆ IsEqual()

HWY_TEST_DLLEXPORT bool hwy::detail::IsEqual ( const TypeInfo & info,
const void * expected_ptr,
const void * actual_ptr )

Referenced by hwy::AssertEqual(), and hwy::IsEqual().

◆ MakeTypeInfo()

template<typename T >
HWY_INLINE TypeInfo hwy::detail::MakeTypeInfo ( )

◆ PrintArray()

HWY_DLLEXPORT void hwy::detail::PrintArray ( const TypeInfo & info,
const char * caption,
const void * array_void,
size_t N,
size_t lane_u = 0,
size_t max_lanes = 7 )

◆ PrintMismatchAndAbort()

HWY_TEST_DLLEXPORT HWY_NORETURN void hwy::detail::PrintMismatchAndAbort ( const TypeInfo & info,
const void * expected_ptr,
const void * actual_ptr,
const char * target_name,
const char * filename,
int line,
size_t lane = 0,
size_t num_lanes = 1 )

Referenced by hwy::AssertEqual().

◆ ScalarAbs() [1/4]

template<typename T >
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR T hwy::detail::ScalarAbs ( hwy::FloatTag ,
T val )
static

References ScalarAbs().

Referenced by ScalarAbs(), ScalarAbs(), ScalarAbs(), and ScalarAbs().

◆ ScalarAbs() [2/4]

template<typename T >
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR T hwy::detail::ScalarAbs ( hwy::SignedTag ,
T val )
static

References ScalarAbs().

◆ ScalarAbs() [3/4]

template<typename T >
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR T hwy::detail::ScalarAbs ( hwy::SpecialTag ,
T val )
static

References ScalarAbs().

◆ ScalarAbs() [4/4]

template<typename T >
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR T hwy::detail::ScalarAbs ( hwy::UnsignedTag ,
T val )
static

References ScalarAbs().

◆ ScalarIsFinite() [1/2]

template<typename T >
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR bool hwy::detail::ScalarIsFinite ( hwy::FloatTag ,
T val )
static

◆ ScalarIsFinite() [2/2]

template<typename T >
static HWY_INLINE HWY_BITCASTSCALAR_CONSTEXPR bool hwy::detail::ScalarIsFinite ( hwy::NonFloatTag ,
T  )
static

References ScalarIsFinite().

◆ ScalarShr() [1/2]

template<class T >
static HWY_INLINE constexpr T hwy::detail::ScalarShr ( hwy::SignedTag ,
T val,
int shift_amt )
staticconstexpr

References ScalarShr().

◆ ScalarShr() [2/2]

template<class T >
static HWY_INLINE constexpr T hwy::detail::ScalarShr ( hwy::UnsignedTag ,
T val,
int shift_amt )
staticconstexpr

References ScalarShr().

Referenced by ScalarShr(), and ScalarShr().

◆ ShiftCount()

static constexpr size_t hwy::detail::ShiftCount ( size_t n)
inlinestaticconstexpr

References ShiftCount().

Referenced by AllocateAlignedItems(), and ShiftCount().

◆ ToString()

HWY_DLLEXPORT void hwy::detail::ToString ( const TypeInfo & info,
const void * ptr,
char * string100 )

Referenced by hwy::PrintValue().

◆ TypeName()

HWY_DLLEXPORT void hwy::detail::TypeName ( const TypeInfo & info,
size_t N,
char * string100 )