hwy::HWY_NAMESPACE::Dot Struct Reference

`#include <dot-inl.h>`

## Public Types

enum | Assumptions { kAtLeastOneVector = 1 , kMultipleOfVector = 2 , kPaddedToVector = 4 }

## Static Public Member Functions

template<int kAssumptions, class D , typename T = TFromD<D>, HWY_IF_NOT_LANE_SIZE_D(D, 2) >
static HWY_INLINE T | Compute (const D d, const T *const HWY_RESTRICT pa, const T *const HWY_RESTRICT pb, const size_t num_elements)
template<int kAssumptions, class D >
static HWY_INLINE float | Compute (const D d, const bfloat16_t *const HWY_RESTRICT pa, const bfloat16_t *const HWY_RESTRICT pb, const size_t num_elements)

## Member Enumeration Documentation

## Assumptions

enum hwy::HWY_NAMESPACE::Dot::Assumptions

Enumerator
kAtLeastOneVector |
kMultipleOfVector |
kPaddedToVector |

## Member Function Documentation

## Compute() [1/2]

template<int kAssumptions, class D >

static HWY_INLINE float hwy::HWY_NAMESPACE::Dot::Compute | ( | const D | d,
|  | const bfloat16_t *const HWY_RESTRICT | pa,
|  | const bfloat16_t *const HWY_RESTRICT | pb,
|  | const size_t | num_elements
| ) |  |

inline static

References hwy::HWY_NAMESPACE::BitCast(), hwy::HWY_NAMESPACE::d, hwy::F32FromBF16(), hwy::HWY_NAMESPACE::FirstN(), hwy::HWY_NAMESPACE::GetLane(), HWY_DASSERT, HWY_UNLIKELY, hwy::HWY_NAMESPACE::IfThenElseZero(), hwy::HWY_NAMESPACE::IfThenZeroElse(), kAtLeastOneVector, kMultipleOfVector, kPaddedToVector, hwy::HWY_NAMESPACE::Lanes(), hwy::HWY_NAMESPACE::LoadU(), hwy::HWY_NAMESPACE::N, hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate(), hwy::HWY_NAMESPACE::SumOfLanes(), and hwy::HWY_NAMESPACE::Zero().

## Compute() [2/2]

template<int kAssumptions, class D , typename T = TFromD<D>, HWY_IF_NOT_LANE_SIZE_D(D, 2) >

static HWY_INLINE T hwy::HWY_NAMESPACE::Dot::Compute | ( | const D | d,
|  | const T *const HWY_RESTRICT | pa,
|  | const T *const HWY_RESTRICT | pb,
|  | const size_t | num_elements
| ) |  |

inline static

References hwy::HWY_NAMESPACE::d, hwy::HWY_NAMESPACE::FirstN(), hwy::HWY_NAMESPACE::GetLane(), HWY_DASSERT, HWY_UNLIKELY, hwy::HWY_NAMESPACE::IfThenElseZero(), hwy::HWY_NAMESPACE::IfThenZeroElse(), kAtLeastOneVector, kMultipleOfVector, kPaddedToVector, hwy::HWY_NAMESPACE::Lanes(), hwy::HWY_NAMESPACE::LoadU(), hwy::HWY_NAMESPACE::MulAdd(), hwy::HWY_NAMESPACE::N, hwy::HWY_NAMESPACE::SumOfLanes(), and hwy::HWY_NAMESPACE::Zero().

The documentation for this struct was generated from the following file:

- dot-inl.h