AI Engine API User Guide (AIE) 2022.2
vector.hpp File Reference
#include "config.hpp"
#include "utils.hpp"
#include <array>
#include <tuple>
#include "aie1/vector.hpp"

Classes

struct  aie::detail::add_memory_bank< Resource, T >
 
struct  aie::detail::add_memory_bank< aie_dm_resource::a, T >
 
struct  aie::detail::add_memory_bank< aie_dm_resource::b, T >
 
struct  aie::detail::add_memory_bank< aie_dm_resource::c, T >
 
struct  aie::detail::add_memory_bank< aie_dm_resource::d, T >
 
struct  aie::detail::add_memory_bank< aie_dm_resource::stack, T >
 
struct  aie::detail::concat_vector_helper< T, Elems >
 
struct  aie::detail::is_unsigned< T >
 
struct  aie::detail::is_vector< T >
 
struct  aie::detail::is_vector< vector< T, Elems > >
 
struct  aie::detail::is_vector_elem_ref< T >
 
struct  aie::detail::is_vector_elem_ref< detail::vector_elem_const_ref< T, Elems > >
 
struct  aie::detail::is_vector_elem_ref< detail::vector_elem_ref< T, Elems > >
 
struct  aie::detail::is_vector_ref< T >
 
struct  aie::detail::is_vector_ref< unaligned_vector_ref< T, Elems, Resource > >
 
struct  aie::detail::is_vector_ref< vector_ref< T, Elems, Resource > >
 
class  aie::detail::unaligned_vector_ref< T, Elems, Resource >
 
class  aie::detail::vector_elem_const_ref< T, N >
 
class  aie::detail::vector_elem_ref< T, N >
 
class  aie::detail::vector_ref< T, Elems, Resource >
 

Namespaces

namespace  aie
 
namespace  aie::detail
 

Macros

#define __AIE_API_DETAIL_VECTOR__HPP__
 

Typedefs

template<aie_dm_resource Resource, typename T >
using aie::detail::add_memory_bank_t = typename add_memory_bank< Resource, T >::type
 
template<typename T , unsigned Elems, aie_dm_resource Resource>
using aie::detail::const_unaligned_vector_ref = unaligned_vector_ref< const T, Elems, Resource >
 
template<typename T , unsigned Elems, aie_dm_resource Resource>
using aie::detail::const_vector_ref = vector_ref< const T, Elems, Resource >
 

Functions

template<typename... Vectors>
auto aie::detail::concat_vector (Vectors &&...vectors)
 
template<typename T1 , typename T2 >
constexpr auto aie::detail::operator& (T1 v1, T2 v2)
 
template<typename T1 , typename T2 >
constexpr auto aie::detail::operator+ (T1 v1, T2 v2)
 
template<typename T1 , typename T2 >
constexpr auto aie::detail::operator- (T1 v1, T2 v2)
 
template<typename T >
constexpr auto aie::detail::operator<< (T v, int n) -> typename T::value_type
 
template<typename T >
constexpr auto aie::detail::operator<< (T v, unsigned n) -> typename T::value_type
 
template<typename T >
constexpr auto aie::detail::operator>> (T v, int n) -> typename T::value_type
 
template<typename T >
constexpr auto aie::detail::operator>> (T v, unsigned n) -> typename T::value_type
 
template<typename T1 , typename T2 >
constexpr auto aie::detail::operator^ (T1 v1, T2 v2)
 
template<typename T1 , typename T2 >
constexpr auto aie::detail::operator| (T1 v1, T2 v2)
 
template<typename T >
constexpr auto aie::detail::operator~ (T v)
 
template<typename DstT , typename SrcT , unsigned SrcElems>
auto aie::detail::vector_cast (const vector< SrcT, SrcElems > &v)
 

Class Documentation

◆ aie::detail::add_memory_bank

struct aie::detail::add_memory_bank
template<aie_dm_resource Resource, typename T>
struct aie::detail::add_memory_bank< Resource, T >
Class Members
typedef T type

◆ aie::detail::add_memory_bank< aie_dm_resource::a, T >

struct aie::detail::add_memory_bank< aie_dm_resource::a, T >
template<typename T>
struct aie::detail::add_memory_bank< aie_dm_resource::a, T >
Class Members
typedef T chess_storage(DM_bankA) type

◆ aie::detail::add_memory_bank< aie_dm_resource::b, T >

struct aie::detail::add_memory_bank< aie_dm_resource::b, T >
template<typename T>
struct aie::detail::add_memory_bank< aie_dm_resource::b, T >
Class Members
typedef T chess_storage(DM_bankB) type

◆ aie::detail::add_memory_bank< aie_dm_resource::c, T >

struct aie::detail::add_memory_bank< aie_dm_resource::c, T >
template<typename T>
struct aie::detail::add_memory_bank< aie_dm_resource::c, T >
Class Members
typedef T chess_storage(DM_bankC) type

◆ aie::detail::add_memory_bank< aie_dm_resource::d, T >

struct aie::detail::add_memory_bank< aie_dm_resource::d, T >
template<typename T>
struct aie::detail::add_memory_bank< aie_dm_resource::d, T >
Class Members
typedef T chess_storage(DM_bankD) type

◆ aie::detail::add_memory_bank< aie_dm_resource::stack, T >

struct aie::detail::add_memory_bank< aie_dm_resource::stack, T >
template<typename T>
struct aie::detail::add_memory_bank< aie_dm_resource::stack, T >
Class Members
typedef T chess_storage(DM_stack) type