Inherits ltl::_et_parse_base.
This class represents a binary operation in the parse tree of an expression. It captures the LHS and the RHS of the operation (both of type ExprNode<>
) and the operation itself, which which is a functor that encapsulates the operation for the element type of the arrays/expressions involved.
Like all parse tree elements, this class implements the iterator interface. It forwards all iterator movements to the LHS and the RHS, and when dereferenced, evaluates the operation passing the LHS and RHS as parameters.
typedef Op::value_type ltl::ExprBinopNode< A, B, Op, N >::value_type |
the result data type is the value_type
of the operation
anonymous enum |
anonymous enum |
anonymous enum |
ltl::ExprBinopNode< A, B, Op, N >::ExprBinopNode | ( | const A & | a, | |
const B & | b | |||
) | [inline] |
Constructor.
void ltl::ExprBinopNode< A, B, Op, N >::operator++ | ( | ) | [inline] |
Implement the iterator interface forwarding all operations to both operands.
void ltl::ExprBinopNode< A, B, Op, N >::advance | ( | ) | [inline] |
void ltl::ExprBinopNode< A, B, Op, N >::advanceN | ( | const int | i | ) | [inline] |
void ltl::ExprBinopNode< A, B, Op, N >::advanceN | ( | const int | i, | |
const int | dim | |||
) | [inline] |
void ltl::ExprBinopNode< A, B, Op, N >::advanceWithStride1 | ( | ) | [inline] |
void ltl::ExprBinopNode< A, B, Op, N >::advanceDim | ( | ) | [inline] |
void ltl::ExprBinopNode< A, B, Op, N >::advanceDim | ( | const int | cutDim | ) | [inline] |
value_type ltl::ExprBinopNode< A, B, Op, N >::operator * | ( | ) | const [inline] |
Evaluate by passing the values of the LHS and RHS to the operation.
value_type ltl::ExprBinopNode< A, B, Op, N >::readWithoutStride | ( | const int | i | ) | const [inline] |
value_type ltl::ExprBinopNode< A, B, Op, N >::readWithStride | ( | const int | i | ) | const [inline] |
value_type ltl::ExprBinopNode< A, B, Op, N >::readWithStride | ( | const int | i, | |
const int | dim | |||
) | const [inline] |
bool ltl::ExprBinopNode< A, B, Op, N >::isStorageContiguous | ( | ) | const [inline] |
bool ltl::ExprBinopNode< A, B, Op, N >::isStride1 | ( | ) | const [inline] |
bool ltl::ExprBinopNode< A, B, Op, N >::isConformable | ( | const Shape< N > & | other | ) | const [inline] |
void ltl::ExprBinopNode< A, B, Op, N >::reset | ( | ) | [inline] |
const Shape<N>* ltl::ExprBinopNode< A, B, Op, N >::shape | ( | ) | const [inline] |
Return a shape
object from the parse tree.