hwy::detail Namespace Reference

## Classes

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 | TypeFromSize
struct | TypeFromSize< 1 >
struct | TypeFromSize< 16 >
struct | TypeFromSize< 2 >
struct | TypeFromSize< 4 >
struct | TypeFromSize< 8 >
struct | TypeInfo

## Functions

static constexpr size_t | ShiftCount (size_t n)
template<typename T >
T * | AllocateAlignedItems (size_t items, AllocPtr alloc_ptr, void *opaque_ptr)
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)

## Function Documentation

## AllocateAlignedItems()

template<typename T >

T * hwy::detail::AllocateAlignedItems | ( | size_t | items,
|  | AllocPtr | alloc_ptr,
|  | void * | opaque_ptr
| ) |  |

private

References hwy::AllocateAlignedBytes(), and ShiftCount().

## 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
| ) |  |

private

Referenced by hwy::AssertArrayEqual(), and hwy::HWY_NAMESPACE::AssertVecEqual().

## ComputeUlpDelta()

template<typename T , typename TU = MakeUnsigned<T>>

TU hwy::detail::ComputeUlpDelta | ( | const T | expected,
|  | const T | actual
| ) |  |

private

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

## IsEqual()

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

private

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

## MakeTypeInfo()

template<typename T >

HWY_INLINE TypeInfo hwy::detail::MakeTypeInfo | ( |  | ) |

References hwy::detail::TypeInfo::is_float, hwy::detail::TypeInfo::is_signed, and hwy::detail::TypeInfo::sizeof_t.

## 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`
| ) |  |

Referenced by hwy::HWY_NAMESPACE::Print(), and hwy::PrintArray().

## 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`
| ) |  |

private

Referenced by hwy::AssertEqual().

## ShiftCount()

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

inline static constexpr private

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
| ) |  |

Referenced by hwy::HWY_NAMESPACE::detail::KeyLane< T >::KeyString(), and hwy::TypeName().