AI Engine API User Guide (AIE) 2023.2
Loading...
Searching...
No Matches
aie::detail::C_block_larger_internal< TypeA, TypeB, AccumBits, Elems, Ratio > Struct Template Reference

#include <mmul.hpp>

Public Types

using accum_tag = accum_tag_for_mul_types< TypeA, TypeB, AccumBits >
 
using accum_type = accum< accum_tag, Elems >
 
using internal_accum_type = accum< accum_tag, Elems *Ratio >
 

Public Member Functions

 C_block_larger_internal ()
 
 C_block_larger_internal (const accum_type &acc, bool to_zero=false)
 
template<typename T >
 C_block_larger_internal (const vector< T, Elems > &v, int shift=0)
 
 operator accum_type () const
 
accum_type to_accum () const
 
template<typename T >
vector< T, Elems > to_vector (int shift=0) const
 
template<typename T >
vector< T, Elems > to_vector_sign (bool v_sign, int shift=0) const
 

Public Attributes

internal_accum_type data
 
bool zero
 

Member Typedef Documentation

◆ accum_tag

template<typename TypeA , typename TypeB , unsigned AccumBits, unsigned Elems, unsigned Ratio>
using aie::detail::C_block_larger_internal< TypeA, TypeB, AccumBits, Elems, Ratio >::accum_tag = accum_tag_for_mul_types<TypeA, TypeB, AccumBits>

◆ accum_type

template<typename TypeA , typename TypeB , unsigned AccumBits, unsigned Elems, unsigned Ratio>
using aie::detail::C_block_larger_internal< TypeA, TypeB, AccumBits, Elems, Ratio >::accum_type = accum<accum_tag, Elems>

◆ internal_accum_type

template<typename TypeA , typename TypeB , unsigned AccumBits, unsigned Elems, unsigned Ratio>
using aie::detail::C_block_larger_internal< TypeA, TypeB, AccumBits, Elems, Ratio >::internal_accum_type = accum<accum_tag, Elems * Ratio>

Constructor & Destructor Documentation

◆ C_block_larger_internal() [1/3]

template<typename TypeA , typename TypeB , unsigned AccumBits, unsigned Elems, unsigned Ratio>
aie::detail::C_block_larger_internal< TypeA, TypeB, AccumBits, Elems, Ratio >::C_block_larger_internal ( )
inline

◆ C_block_larger_internal() [2/3]

template<typename TypeA , typename TypeB , unsigned AccumBits, unsigned Elems, unsigned Ratio>
aie::detail::C_block_larger_internal< TypeA, TypeB, AccumBits, Elems, Ratio >::C_block_larger_internal ( const accum_type acc,
bool  to_zero = false 
)
inline

◆ C_block_larger_internal() [3/3]

template<typename TypeA , typename TypeB , unsigned AccumBits, unsigned Elems, unsigned Ratio>
template<typename T >
aie::detail::C_block_larger_internal< TypeA, TypeB, AccumBits, Elems, Ratio >::C_block_larger_internal ( const vector< T, Elems > &  v,
int  shift = 0 
)
inline

Member Function Documentation

◆ operator accum_type()

template<typename TypeA , typename TypeB , unsigned AccumBits, unsigned Elems, unsigned Ratio>
aie::detail::C_block_larger_internal< TypeA, TypeB, AccumBits, Elems, Ratio >::operator accum_type ( ) const
inline

◆ to_accum()

template<typename TypeA , typename TypeB , unsigned AccumBits, unsigned Elems, unsigned Ratio>
accum_type aie::detail::C_block_larger_internal< TypeA, TypeB, AccumBits, Elems, Ratio >::to_accum ( ) const
inline

◆ to_vector()

template<typename TypeA , typename TypeB , unsigned AccumBits, unsigned Elems, unsigned Ratio>
template<typename T >
vector< T, Elems > aie::detail::C_block_larger_internal< TypeA, TypeB, AccumBits, Elems, Ratio >::to_vector ( int  shift = 0) const
inline

◆ to_vector_sign()

template<typename TypeA , typename TypeB , unsigned AccumBits, unsigned Elems, unsigned Ratio>
template<typename T >
vector< T, Elems > aie::detail::C_block_larger_internal< TypeA, TypeB, AccumBits, Elems, Ratio >::to_vector_sign ( bool  v_sign,
int  shift = 0 
) const
inline

Member Data Documentation

◆ data

template<typename TypeA , typename TypeB , unsigned AccumBits, unsigned Elems, unsigned Ratio>
internal_accum_type aie::detail::C_block_larger_internal< TypeA, TypeB, AccumBits, Elems, Ratio >::data

◆ zero

template<typename TypeA , typename TypeB , unsigned AccumBits, unsigned Elems, unsigned Ratio>
bool aie::detail::C_block_larger_internal< TypeA, TypeB, AccumBits, Elems, Ratio >::zero

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