AI Engine API User Guide (AIE) 2021.2
accum.hpp File Reference
#include
#include "utils.hpp"
#include "vector.hpp"
#include "aie1/accum.hpp"

Classes

struct aie::detail::accum_bits_for_tag< acc16 >
struct aie::detail::accum_bits_for_tag< acc24 >
struct aie::detail::accum_bits_for_tag< acc32 >
struct aie::detail::accum_bits_for_tag< acc40 >
struct aie::detail::accum_bits_for_tag< acc48 >
struct aie::detail::accum_bits_for_tag< acc56 >
struct aie::detail::accum_bits_for_tag< acc64 >
struct aie::detail::accum_bits_for_tag< acc72 >
struct aie::detail::accum_bits_for_tag< acc80 >
struct aie::detail::accum_bits_for_tag< accfloat >
struct aie::detail::accum_bits_for_tag< cacc16 >
struct aie::detail::accum_bits_for_tag< cacc24 >
struct aie::detail::accum_bits_for_tag< cacc32 >
struct aie::detail::accum_bits_for_tag< cacc40 >
struct aie::detail::accum_bits_for_tag< cacc48 >
struct aie::detail::accum_bits_for_tag< cacc56 >
struct aie::detail::accum_bits_for_tag< cacc64 >
struct aie::detail::accum_bits_for_tag< cacc72 >
struct aie::detail::accum_bits_for_tag< cacc80 >
struct aie::detail::accum_bits_for_tag< caccfloat >
struct aie::detail::accum_class_for_tag< acc16 >
struct aie::detail::accum_class_for_tag< acc24 >
struct aie::detail::accum_class_for_tag< acc32 >
struct aie::detail::accum_class_for_tag< acc40 >
struct aie::detail::accum_class_for_tag< acc48 >
struct aie::detail::accum_class_for_tag< acc56 >
struct aie::detail::accum_class_for_tag< acc64 >
struct aie::detail::accum_class_for_tag< acc72 >
struct aie::detail::accum_class_for_tag< acc80 >
struct aie::detail::accum_class_for_tag< accfloat >
struct aie::detail::accum_class_for_tag< cacc16 >
struct aie::detail::accum_class_for_tag< cacc24 >
struct aie::detail::accum_class_for_tag< cacc32 >
struct aie::detail::accum_class_for_tag< cacc40 >
struct aie::detail::accum_class_for_tag< cacc48 >
struct aie::detail::accum_class_for_tag< cacc56 >
struct aie::detail::accum_class_for_tag< cacc64 >
struct aie::detail::accum_class_for_tag< cacc72 >
struct aie::detail::accum_class_for_tag< cacc80 >
struct aie::detail::accum_class_for_tag< caccfloat >
struct aie::detail::accum_tag< AccumClass::CFP, 32 >
struct aie::detail::accum_tag< AccumClass::CInt, 16 >
struct aie::detail::accum_tag< AccumClass::CInt, 24 >
struct aie::detail::accum_tag< AccumClass::CInt, 32 >
struct aie::detail::accum_tag< AccumClass::CInt, 40 >
struct aie::detail::accum_tag< AccumClass::CInt, 48 >
struct aie::detail::accum_tag< AccumClass::CInt, 56 >
struct aie::detail::accum_tag< AccumClass::CInt, 64 >
struct aie::detail::accum_tag< AccumClass::CInt, 72 >
struct aie::detail::accum_tag< AccumClass::CInt, 80 >
struct aie::detail::accum_tag< AccumClass::FP, 32 >
struct aie::detail::accum_tag< AccumClass::Int, 16 >
struct aie::detail::accum_tag< AccumClass::Int, 24 >
struct aie::detail::accum_tag< AccumClass::Int, 32 >
struct aie::detail::accum_tag< AccumClass::Int, 40 >
struct aie::detail::accum_tag< AccumClass::Int, 48 >
struct aie::detail::accum_tag< AccumClass::Int, 56 >
struct aie::detail::accum_tag< AccumClass::Int, 64 >
struct aie::detail::accum_tag< AccumClass::Int, 72 >
struct aie::detail::accum_tag< AccumClass::Int, 80 >
struct aie::detail::concat_accum_helper< Class, Bits, Elems >
struct aie::detail::default_accum_tag< A, B >
struct aie::detail::default_accum_tag_helper< 32, false >
struct aie::detail::default_accum_tag_helper< 32, true >
struct aie::detail::default_accum_tag_helper< 48 >
struct aie::detail::default_accum_tag_helper< 64 >
struct aie::detail::is_accum< T >
struct aie::detail::is_accum< accum< Class, Bits, Elems > >
struct aie::detail::is_valid_accum_type< T >

Namespaces

namespace aie
namespace aie::detail

Macros

#define __AIE_API_DETAIL_ACCUM__HPP__

Typedefs

template
using aie::detail::accum_native_type_t= typename accum_native_type< T >::type
template()>
using aie::detail::accum_tag_for_mul_types= accum_tag_t< accum_class_for_mul_types_v< T1, T2 >, Bits >
template
using aie::detail::accum_tag_t= typename accum_tag< Class, Bits >::type
template
using aie::detail::default_accum_tag_t= typename default_accum_tag< A, B >::type

Enumerations

enum class aie::detail::AccumClass{aie::detail::Int,aie::detail::CInt,aie::detail::FP,aie::detail::CFP}

Functions

template
auto aie::detail::accum_cast(const Acc &acc)
template
auto aie::detail::concat_accum(Accums &&...accums)

Class Documentation

aie::detail::accum_tag< AccumClass::CFP, 32 >

struct aie::detail::accum_tag< AccumClass::CFP, 32 >
Class Members
typedef caccfloat type

aie::detail::accum_tag< AccumClass::CInt, 16 >

struct aie::detail::accum_tag< AccumClass::CInt, 16 >
Class Members
typedef cacc16 type

aie::detail::accum_tag< AccumClass::CInt, 24 >

struct aie::detail::accum_tag< AccumClass::CInt, 24 >
Class Members
typedef cacc24 type

aie::detail::accum_tag< AccumClass::CInt, 32 >

struct aie::detail::accum_tag< AccumClass::CInt, 32 >
Class Members
typedef cacc32 type

aie::detail::accum_tag< AccumClass::CInt, 40 >

struct aie::detail::accum_tag< AccumClass::CInt, 40 >
Class Members
typedef cacc40 type

aie::detail::accum_tag< AccumClass::CInt, 48 >

struct aie::detail::accum_tag< AccumClass::CInt, 48 >
Class Members
typedef cacc48 type

aie::detail::accum_tag< AccumClass::CInt, 56 >

struct aie::detail::accum_tag< AccumClass::CInt, 56 >
Class Members
typedef cacc56 type

aie::detail::accum_tag< AccumClass::CInt, 64 >

struct aie::detail::accum_tag< AccumClass::CInt, 64 >
Class Members
typedef cacc64 type

aie::detail::accum_tag< AccumClass::CInt, 72 >

struct aie::detail::accum_tag< AccumClass::CInt, 72 >
Class Members
typedef cacc72 type

aie::detail::accum_tag< AccumClass::CInt, 80 >

struct aie::detail::accum_tag< AccumClass::CInt, 80 >
Class Members
typedef cacc80 type

aie::detail::accum_tag< AccumClass::FP, 32 >

struct aie::detail::accum_tag< AccumClass::FP, 32 >
Class Members
typedef accfloat type

aie::detail::accum_tag< AccumClass::Int, 16 >

struct aie::detail::accum_tag< AccumClass::Int, 16 >
Class Members
typedef acc16 type

aie::detail::accum_tag< AccumClass::Int, 24 >

struct aie::detail::accum_tag< AccumClass::Int, 24 >
Class Members
typedef acc24 type

aie::detail::accum_tag< AccumClass::Int, 32 >

struct aie::detail::accum_tag< AccumClass::Int, 32 >
Class Members
typedef acc32 type

aie::detail::accum_tag< AccumClass::Int, 40 >

struct aie::detail::accum_tag< AccumClass::Int, 40 >
Class Members
typedef acc40 type

aie::detail::accum_tag< AccumClass::Int, 48 >

struct aie::detail::accum_tag< AccumClass::Int, 48 >
Class Members
typedef acc48 type

aie::detail::accum_tag< AccumClass::Int, 56 >

struct aie::detail::accum_tag< AccumClass::Int, 56 >
Class Members
typedef acc56 type

aie::detail::accum_tag< AccumClass::Int, 64 >

struct aie::detail::accum_tag< AccumClass::Int, 64 >
Class Members
typedef acc64 type

aie::detail::accum_tag< AccumClass::Int, 72 >

struct aie::detail::accum_tag< AccumClass::Int, 72 >
Class Members
typedef acc72 type

aie::detail::accum_tag< AccumClass::Int, 80 >

struct aie::detail::accum_tag< AccumClass::Int, 80 >
Class Members
typedef acc80 type

aie::detail::default_accum_tag

struct aie::detail::default_accum_tag
template
struct aie::detail::default_accum_tag< A, B >
Class Members
typedef conditional_t< is_complex_v< A >||is_complex_v< B >, typenamedefault_accum_tag_helper< default_accum_bits< A, B >(), is_floating_point_v< A > >::ctype, typenamedefault_accum_tag_helper< default_accum_bits< A, B >(), is_floating_point_v< A > >::type> type

aie::detail::default_accum_tag_helper< 32, false >

struct aie::detail::default_accum_tag_helper< 32, false >
Class Members
typedef cacc32 ctype
typedef acc32 type

aie::detail::default_accum_tag_helper< 32, true >

struct aie::detail::default_accum_tag_helper< 32, true >
Class Members
typedef caccfloat ctype
typedef accfloat type

aie::detail::default_accum_tag_helper< 48 >

struct aie::detail::default_accum_tag_helper< 48 >
Class Members
typedef cacc48 ctype
typedef acc48 type

aie::detail::default_accum_tag_helper< 64 >

struct aie::detail::default_accum_tag_helper< 64 >
Class Members
typedef cacc64 ctype
typedef acc64 type