AI Engine API User Guide (AIE) 2023.2
Loading...
Searching...
No Matches
aie::binary_op_common< Parent1, Parent2, Op > Struct Template Reference

#include <expr.hpp>

Public Types

using parent1_type = aie_dm_resource_remove_t< Parent1 >
 
using parent2_type = aie_dm_resource_remove_t< Parent2 >
 
using result_type = op_result_type_t< parent1_type, Op >
 
using value_type = op_value_type_t< result_type >
 

Public Member Functions

constexpr binary_op_common (const parent1_type parent1, const parent2_type parent2)
 
auto parent1 () const
 
auto parent2 () const
 

Static Public Member Functions

static constexpr unsigned bits ()
 
template<typename... Operations>
requires (... && std::is_same_v<Operations, Operation>)
static constexpr bool is_operation (Operation op, Operations... ops)
 
static constexpr bool is_operation_none ()
 
template<typename... Operations>
requires (... && std::is_same_v<Operations, Operation>)
static constexpr bool is_operation_not (Operation op, Operations... ops)
 
static constexpr unsigned size ()
 

Static Public Attributes

static constexpr Operation operation = Op
 

Member Typedef Documentation

◆ parent1_type

template<typename Parent1 , typename Parent2 , Operation Op>
using aie::binary_op_common< Parent1, Parent2, Op >::parent1_type = aie_dm_resource_remove_t<Parent1>

◆ parent2_type

template<typename Parent1 , typename Parent2 , Operation Op>
using aie::binary_op_common< Parent1, Parent2, Op >::parent2_type = aie_dm_resource_remove_t<Parent2>

◆ result_type

template<typename Parent1 , typename Parent2 , Operation Op>
using aie::binary_op_common< Parent1, Parent2, Op >::result_type = op_result_type_t<parent1_type, Op>

◆ value_type

template<typename Parent1 , typename Parent2 , Operation Op>
using aie::binary_op_common< Parent1, Parent2, Op >::value_type = op_value_type_t<result_type>

Constructor & Destructor Documentation

◆ binary_op_common()

template<typename Parent1 , typename Parent2 , Operation Op>
constexpr aie::binary_op_common< Parent1, Parent2, Op >::binary_op_common ( const parent1_type  parent1,
const parent2_type  parent2 
)
inlineconstexpr

Member Function Documentation

◆ bits()

template<typename Parent1 , typename Parent2 , Operation Op>
static constexpr unsigned aie::binary_op_common< Parent1, Parent2, Op >::bits ( )
inlinestaticconstexpr

◆ is_operation()

template<typename Parent1 , typename Parent2 , Operation Op>
template<typename... Operations>
requires (... && std::is_same_v<Operations, Operation>)
static constexpr bool aie::binary_op_common< Parent1, Parent2, Op >::is_operation ( Operation  op,
Operations...  ops 
)
inlinestaticconstexpr

◆ is_operation_none()

template<typename Parent1 , typename Parent2 , Operation Op>
static constexpr bool aie::binary_op_common< Parent1, Parent2, Op >::is_operation_none ( )
inlinestaticconstexpr

◆ is_operation_not()

template<typename Parent1 , typename Parent2 , Operation Op>
template<typename... Operations>
requires (... && std::is_same_v<Operations, Operation>)
static constexpr bool aie::binary_op_common< Parent1, Parent2, Op >::is_operation_not ( Operation  op,
Operations...  ops 
)
inlinestaticconstexpr

◆ parent1()

template<typename Parent1 , typename Parent2 , Operation Op>
auto aie::binary_op_common< Parent1, Parent2, Op >::parent1 ( ) const
inline

◆ parent2()

template<typename Parent1 , typename Parent2 , Operation Op>
auto aie::binary_op_common< Parent1, Parent2, Op >::parent2 ( ) const
inline

◆ size()

template<typename Parent1 , typename Parent2 , Operation Op>
static constexpr unsigned aie::binary_op_common< Parent1, Parent2, Op >::size ( )
inlinestaticconstexpr

Member Data Documentation

◆ operation

template<typename Parent1 , typename Parent2 , Operation Op>
constexpr Operation aie::binary_op_common< Parent1, Parent2, Op >::operation = Op
staticconstexpr

The documentation for this struct was generated from the following file: