AI Engine API User Guide (AIE) 2023.2
Loading...
Searching...
No Matches
aie::detail::accumulator< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data > Struct Template Reference

#include <accumulate.hpp>

Public Types

template<Operation Op>
using accum_op_type = unary_op< accum_type, Op >
 
using accum_tag = accum_tag_for_mul_types< T_Coeff, T_Data, AccumBits >
 
using accum_type = accum< accum_tag, Lanes >
 
using coeff_vector_type = vector< T_Coeff, N_Coeff >
 
using data_vector_type = vector< T_Data, Lanes >
 

Static Public Member Functions

template<Operation Op, int CoeffStep, typename... Terms>
static auto run (const accum_type &acc, const coeff_vector_type &coeff, unsigned coeff_start, const data_vector_type &data, const Terms &...terms)
 
template<int CoeffStep, typename... Terms>
static auto run (const coeff_vector_type &coeff, unsigned coeff_start, const data_vector_type &data, const Terms &...terms)
 

Member Typedef Documentation

◆ accum_op_type

template<unsigned AccumBits, unsigned Lanes, typename T_Coeff , unsigned N_Coeff, typename T_Data >
template<Operation Op>
using aie::detail::accumulator< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data >::accum_op_type = unary_op<accum_type, Op>

◆ accum_tag

template<unsigned AccumBits, unsigned Lanes, typename T_Coeff , unsigned N_Coeff, typename T_Data >
using aie::detail::accumulator< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data >::accum_tag = accum_tag_for_mul_types<T_Coeff, T_Data, AccumBits>

◆ accum_type

template<unsigned AccumBits, unsigned Lanes, typename T_Coeff , unsigned N_Coeff, typename T_Data >
using aie::detail::accumulator< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data >::accum_type = accum<accum_tag, Lanes>

◆ coeff_vector_type

template<unsigned AccumBits, unsigned Lanes, typename T_Coeff , unsigned N_Coeff, typename T_Data >
using aie::detail::accumulator< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data >::coeff_vector_type = vector<T_Coeff, N_Coeff>

◆ data_vector_type

template<unsigned AccumBits, unsigned Lanes, typename T_Coeff , unsigned N_Coeff, typename T_Data >
using aie::detail::accumulator< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data >::data_vector_type = vector<T_Data, Lanes>

Member Function Documentation

◆ run() [1/2]

template<unsigned AccumBits, unsigned Lanes, typename T_Coeff , unsigned N_Coeff, typename T_Data >
template<Operation Op, int CoeffStep, typename... Terms>
static auto aie::detail::accumulator< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data >::run ( const accum_type acc,
const coeff_vector_type coeff,
unsigned  coeff_start,
const data_vector_type data,
const Terms &...  terms 
)
inlinestatic

◆ run() [2/2]

template<unsigned AccumBits, unsigned Lanes, typename T_Coeff , unsigned N_Coeff, typename T_Data >
template<int CoeffStep, typename... Terms>
static auto aie::detail::accumulator< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data >::run ( const coeff_vector_type coeff,
unsigned  coeff_start,
const data_vector_type data,
const Terms &...  terms 
)
inlinestatic

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