AI Engine API User Guide (AIE) 2021.2
mul.hpp File Reference
#include
#include
#include
#include "vector.hpp"
#include "aie1/mul.hpp"
#include "aie1/mul_reduce.hpp"
#include "aie1/sliding_mul.hpp"
#include "aie1/sliding_mul_sym.hpp"

Namespaces

namespace aie
namespace aie::detail

Macros

#define __AIE_API_DETAIL_MUL__HPP__

Typedefs

template
using aie::detail::mul= mul_bits< MulOp, AccumBits, type_bits_v< T1 >, T1, type_bits_v< T2 >, T2 >
template
using aie::detail::mul_maxmin= mul_maxmin_bits< MulOp, AccumBits, type_bits_v< T1 >, T1, type_bits_v< T2 >, T2 >
template
using aie::detail::mul_reduce= mul_reduce_bits< AccumBits, type_bits_v< T >, T, Elems >
template
using aie::detail::sliding_mul= sliding_mul_bits< OutElems, Points, CoeffStep, DataStepX, DataStepY, AccumBits, type_bits_v< CoeffType >, type_bits_v< DataType >, CoeffType, DataType >
template
using aie::detail::sliding_mul_sym= sliding_mul_sym_bits< OutElems, Points, CoeffStep, DataStepX, DataStepY, AccumBits, type_bits_v< CoeffType >, type_bits_v< DataType >, CoeffType, DataType >
template
using aie::detail::sliding_mul_sym_uct= sliding_mul_sym_uct_bits< OutElems, Points, CoeffStep, DataStep, AccumBits, type_bits_v< CoeffType >, type_bits_v< DataType >, CoeffType, DataType >

Enumerations

enum class aie::detail::MulMacroOp{
aie::detail::Mul,aie::detail::NegMul,aie::detail::Add_Mul,aie::detail::Add_NegMul,
aie::detail::Sub_Mul= Add_NegMul ,aie::detail::MulSym,aie::detail::NegMulSym,aie::detail::MulAntisym,
aie::detail::NegMulAntisym,aie::detail::Add_MulSym,aie::detail::Add_NegMulSym,aie::detail::Sub_MulSym= Add_NegMulSym ,
aie::detail::Add_MulAntisym,aie::detail::Add_NegMulAntisym,aie::detail::Sub_MulAntisym= Add_NegMulAntisym ,aie::detail::MulAbs1,
aie::detail::MulAbs1Conj2,aie::detail::MulConj1,aie::detail::MulConj1Conj2,aie::detail::MulConj2,
aie::detail::NegMulAbs1,aie::detail::NegMulAbs1Conj2,aie::detail::NegMulConj1,aie::detail::NegMulConj1Conj2,
aie::detail::NegMulConj2,aie::detail::MulSymConj1,aie::detail::MulSymConj1Conj2,aie::detail::MulSymConj2,
aie::detail::NegMulSymConj1,aie::detail::NegMulSymConj1Conj2,aie::detail::NegMulSymConj2,aie::detail::MulAntisymConj1,
aie::detail::MulAntisymConj1Conj2,aie::detail::MulAntisymConj2,aie::detail::NegMulAntisymConj1,aie::detail::NegMulAntisymConj1Conj2,
aie::detail::NegMulAntisymConj2,aie::detail::MulMax,aie::detail::MulMin,aie::detail::Add_MulAbs1,
aie::detail::Add_MulAbs1Conj2,aie::detail::Add_MulConj1,aie::detail::Add_MulConj1Conj2,aie::detail::Add_MulConj2,
aie::detail::Sub_MulAbs1,aie::detail::Sub_MulAbs1Conj2,aie::detail::Sub_MulConj1,aie::detail::Sub_MulConj1Conj2,
aie::detail::Sub_MulConj2,aie::detail::Add_MulSymConj1,aie::detail::Add_MulSymConj1Conj2,aie::detail::Add_MulSymConj2,
aie::detail::Sub_MulSymConj1,aie::detail::Sub_MulSymConj1Conj2,aie::detail::Sub_MulSymConj2,aie::detail::Add_MulAntisymConj1,
aie::detail::Add_MulAntisymConj1Conj2,aie::detail::Add_MulAntisymConj2,aie::detail::Sub_MulAntisymConj1,aie::detail::Sub_MulAntisymConj1Conj2,
aie::detail::Sub_MulAntisymConj2,aie::detail::Add_MulMax,aie::detail::Add_MulMin,aie::detail::Sub_MulMax,
aie::detail::Sub_MulMin
}

Functions

template
constexpr MulMacroOp aie::detail::add_to_op()
template
constexpr bool aie::detail::has_abs()
template
constexpr bool aie::detail::has_conj1()
template
constexpr bool aie::detail::has_conj2()
template
constexpr MulMacroOp aie::detail::to_mul_antisym_macro_op()
template
constexpr MulMacroOp aie::detail::to_mul_antisym_macro_op()
template
constexpr MulMacroOp aie::detail::to_mul_macro_op()
template
constexpr MulMacroOp aie::detail::to_mul_macro_op()
template
constexpr MulMacroOp aie::detail::to_mul_sym_macro_op()
template
constexpr MulMacroOp aie::detail::to_mul_sym_macro_op()
template
constexpr MulMacroOp aie::detail::to_negmul_antisym_macro_op()
template
constexpr MulMacroOp aie::detail::to_negmul_macro_op()
template
constexpr MulMacroOp aie::detail::to_negmul_sym_macro_op()