Loading [MathJax]/extensions/tex2jax.js
AI Engine API User Guide (AIE) 2023.2
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
Initialization

Operations to initialize vectors and accumulators. More...

Overview

Operations to initialize vectors and accumulators.

Functions

template<Elem E, unsigned Elems = native_vector_length_v<E>>
vector< operand_base_type_t< E >, Elems > aie::broadcast (E a)
 Returns a vector whose elements are initialized to the given value.
 
template<Accum Acc, Accum... Accums>
requires ((is_same_accum_v<Acc, Accums> && ...))
auto aie::concat (const Acc &acc, const Accums &...accums) -> accum< typename Acc::value_type, Acc::size() *(1+sizeof...(Accums))>
 Concatenate the contents of all input accumulators into a larger accumulator.
 
template<Vector Vec, Vector... Vectors>
requires ((is_same_vector_v<Vec, Vectors> && ...))
auto aie::concat (const Vec &v, const Vectors &...vectors) -> vector< typename Vec::value_type, Vec::size() *(1+sizeof...(Vectors))>
 Concatenate the contents of all input vectors into a larger vector.
 
template<ElemBaseType T, unsigned Elems = native_vector_length_v<T>>
vector< T, Elems > aie::zeros ()
 Returns a vector whose elements are initialized to zero.
 

Function Documentation

◆ broadcast()

template<Elem E, unsigned Elems = native_vector_length_v<E>>
vector< operand_base_type_t< E >, Elems > aie::broadcast ( a)

Returns a vector whose elements are initialized to the given value.

for (unsigned i = 0; i < Elems; ++i)
out[i] = a;
Template Parameters
E.Element type of the returned vector.
Elems.Size of the vector.
Parameters
aValue. The type must meet Elem.

◆ concat() [1/2]

template<Accum Acc, Accum... Accums>
requires ((is_same_accum_v<Acc, Accums> && ...))
auto aie::concat ( const Acc &  acc,
const Accums &...  accums 
) -> accum<typename Acc::value_type, Acc::size() * (1 + sizeof...(Accums))>

Concatenate the contents of all input accumulators into a larger accumulator.

All input accumulators must have the same type and size.

Parameters
accFirst input accumulator.
accumsRest of input accumulators.

◆ concat() [2/2]

template<Vector Vec, Vector... Vectors>
requires ((is_same_vector_v<Vec, Vectors> && ...))
auto aie::concat ( const Vec &  v,
const Vectors &...  vectors 
) -> vector<typename Vec::value_type, Vec::size() * (1 + sizeof...(Vectors))>

Concatenate the contents of all input vectors into a larger vector.

All input vectors must have the same type and size.

Parameters
vFirst input vector.
vectorsRest of input vectors.

◆ zeros()

template<ElemBaseType T, unsigned Elems = native_vector_length_v<T>>
vector< T, Elems > aie::zeros ( )

Returns a vector whose elements are initialized to zero.

for (unsigned i = 0; i < Elems; ++i)
out[i] = 0;
Template Parameters
E.Element type of the returned vector.
Elems.Size of the vector.