AI Engine API User Guide (AIE) 2023.2
Loading...
Searching...
No Matches
aie::detail::C_block< TypeA, TypeB, AccumBits, Elems, 1 > 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 >
 

Public Member Functions

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

Public Attributes

accum_type data
 
bool zero
 

Member Typedef Documentation

◆ accum_tag

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

◆ accum_type

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

Constructor & Destructor Documentation

◆ C_block() [1/3]

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

◆ C_block() [2/3]

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

◆ C_block() [3/3]

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

Member Function Documentation

◆ operator accum_type()

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

◆ to_accum()

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

◆ to_vector()

template<typename TypeA , typename TypeB , unsigned AccumBits, unsigned Elems>
template<typename T >
auto aie::detail::C_block< TypeA, TypeB, AccumBits, Elems, 1 >::to_vector ( int  shift = 0) const
inline

◆ to_vector_sign()

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

Member Data Documentation

◆ data

template<typename TypeA , typename TypeB , unsigned AccumBits, unsigned Elems>
accum_type aie::detail::C_block< TypeA, TypeB, AccumBits, Elems, 1 >::data

◆ zero

template<typename TypeA , typename TypeB , unsigned AccumBits, unsigned Elems>
bool aie::detail::C_block< TypeA, TypeB, AccumBits, Elems, 1 >::zero

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