AI Engine API User Guide (AIE) 2023.1
Loading...
Searching...
No Matches
Operator Overloading

Overview

The AIE API provides overloading for most of the available operators. In order to use them, you need to include a special header file and use the aie::operators namespace.

using namespace aie::operators;
{
return c < (a + b);
}
Definition: operators.hpp:60
Definition: aie_declaration.hpp:74
Definition: aie_declaration.hpp:68
Operator overloading for AIE API types, currently expects "using namespace aie::operators" in the use...

Functions

template<typename T1 , typename T2 >
constexpr auto aie::operators::operator!= (const T1 &a, const T2 &b)
 
template<typename T1 , typename T2 >
constexpr auto aie::operators::operator& (const T1 &a, const T2 &b)
 
template<typename T1 , typename T2 >
constexpr auto aie::operators::operator+ (const T1 &a, const T2 &b)
 
template<typename T1 , typename T2 >
constexpr T1 & aie::operators::operator+= (T1 &lhs, const T2 &rhs)
 
template<typename T >
constexpr auto aie::operators::operator- (const T &a)
 
template<typename T1 , typename T2 >
constexpr auto aie::operators::operator- (const T1 &a, const T2 &b)
 
template<typename T1 , typename T2 >
constexpr T1 & aie::operators::operator-= (T1 &lhs, const T2 &rhs)
 
template<typename T1 , typename T2 >
constexpr auto aie::operators::operator< (const T1 &a, const T2 &b)
 
template<typename T >
constexpr auto aie::operators::operator<< (const T &a, unsigned shift)
 
template<typename T1 , typename T2 >
constexpr auto aie::operators::operator<= (const T1 &a, const T2 &b)
 
template<typename T1 , typename T2 >
constexpr auto aie::operators::operator== (const T1 &a, const T2 &b)
 
template<typename T1 , typename T2 >
constexpr auto aie::operators::operator> (const T1 &a, const T2 &b)
 
template<typename T1 , typename T2 >
constexpr auto aie::operators::operator>= (const T1 &a, const T2 &b)
 
template<typename T >
constexpr auto aie::operators::operator>> (const T &a, unsigned shift)
 
template<typename T1 , typename T2 >
constexpr auto aie::operators::operator^ (const T1 &a, const T2 &b)
 
template<typename T1 , typename T2 >
constexpr auto aie::operators::operator| (const T1 &a, const T2 &b)
 
template<typename T >
constexpr auto aie::operators::operator~ (const T &a)
 

Function Documentation

◆ operator!=()

template<typename T1 , typename T2 >
constexpr auto aie::operators::operator!= ( const T1 &  a,
const T2 &  b 
)
constexpr

Not equal to comparison operator. It is equivalent to aie::neq.

◆ operator&()

template<typename T1 , typename T2 >
constexpr auto aie::operators::operator& ( const T1 &  a,
const T2 &  b 
)
constexpr

Bitwise AND operation. It is equivalent to aie::bit_and.

◆ operator+()

template<typename T1 , typename T2 >
constexpr auto aie::operators::operator+ ( const T1 &  a,
const T2 &  b 
)
constexpr

Addition operator. It is equivalent to aie::add.

◆ operator+=()

template<typename T1 , typename T2 >
constexpr T1 & aie::operators::operator+= ( T1 &  lhs,
const T2 &  rhs 
)
constexpr

Addition assignment operator.

◆ operator-() [1/2]

template<typename T >
constexpr auto aie::operators::operator- ( const T &  a)
constexpr

Negation operator. It is equivalent to aie::neg.

◆ operator-() [2/2]

template<typename T1 , typename T2 >
constexpr auto aie::operators::operator- ( const T1 &  a,
const T2 &  b 
)
constexpr

Subtraction operator. It is equivalent to aie::sub.

◆ operator-=()

template<typename T1 , typename T2 >
constexpr T1 & aie::operators::operator-= ( T1 &  lhs,
const T2 &  rhs 
)
constexpr

Subtraction assignment operator.

◆ operator<()

template<typename T1 , typename T2 >
constexpr auto aie::operators::operator< ( const T1 &  a,
const T2 &  b 
)
constexpr

Less than comparison operator. It is equivalent to aie::lt.

◆ operator<<()

template<typename T >
constexpr auto aie::operators::operator<< ( const T &  a,
unsigned  shift 
)
constexpr

Bitwise left shift operator. It is equivalent to aie::upshift.

◆ operator<=()

template<typename T1 , typename T2 >
constexpr auto aie::operators::operator<= ( const T1 &  a,
const T2 &  b 
)
constexpr

Less than or equal comparison operator. It is equivalent to aie::le.

◆ operator==()

template<typename T1 , typename T2 >
constexpr auto aie::operators::operator== ( const T1 &  a,
const T2 &  b 
)
constexpr

Equal to comparison operator. It is equivalent to aie::eq.

◆ operator>()

template<typename T1 , typename T2 >
constexpr auto aie::operators::operator> ( const T1 &  a,
const T2 &  b 
)
constexpr

Greater than comparison operator. It is equivalent to aie::gt.

◆ operator>=()

template<typename T1 , typename T2 >
constexpr auto aie::operators::operator>= ( const T1 &  a,
const T2 &  b 
)
constexpr

Greater than or equal comparison operator. It is equivalent to aie::ge.

◆ operator>>()

template<typename T >
constexpr auto aie::operators::operator>> ( const T &  a,
unsigned  shift 
)
constexpr

Bitwise right shift operator. It is equivalent to aie::downshift.

◆ operator^()

template<typename T1 , typename T2 >
constexpr auto aie::operators::operator^ ( const T1 &  a,
const T2 &  b 
)
constexpr

Bitwise XOR operation. It is equivalent to aie::bit_xor.

◆ operator|()

template<typename T1 , typename T2 >
constexpr auto aie::operators::operator| ( const T1 &  a,
const T2 &  b 
)
constexpr

Bitwise OR operation. It is equivalent to aie::bit_or.

◆ operator~()

template<typename T >
constexpr auto aie::operators::operator~ ( const T &  a)
constexpr

Bitwise NOT operation. It is equivalent to aie::bit_not.