Unary operation node in the expression parse tree.
More...
Inherits ltl::LTLIterator.
List of all members.
Public Types
- typedef Op::value_type value_type
- the result data type is the
value_type
of the operation
Public Member Functions
Detailed Description
template<typename A, typename Op, int N>
class ltl::ExprUnopNode< A, Op, N >
Unary operation node in the expression parse tree.
This class represents a unary operation in the parse tree of an expression. It captures the operrand of the operation (of type ExprNode<>
) and the operation itself, 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 operand, and when dereferenced, evaluates the operation passing the operand as the parameter.
Member Typedef Documentation
template<typename A , typename Op , int N>
the result data type is the value_type
of the operation
Member Enumeration Documentation
template<typename A , typename Op , int N>
The number of dimensions.
- Enumerator:
-
template<typename A , typename Op , int N>
The number of ltl::IndexIter index iterators in the operand.
- Enumerator:
-
template<typename A , typename Op , int N>
The number of convolution operations.
- Enumerator:
-
template<typename A , typename Op , int N>
Vectorizable if the operand is vectorizable and if the the operation is vectorizable.
- Enumerator:
-
Constructor & Destructor Documentation
template<typename A , typename Op , int N>
Member Function Documentation
template<typename A , typename Op , int N>
Implement the iterator interface forwarding all operations to the operand.
template<typename A , typename Op , int N>
template<typename A , typename Op , int N>
template<typename A , typename Op , int N>
template<typename A , typename Op , int N>
template<typename A , typename Op , int N>
template<typename A , typename Op , int N>
template<typename A , typename Op , int N>
Evaluate by passing the values of the operand to the operation.
template<typename A , typename Op , int N>
template<typename A , typename Op , int N>
template<typename A , typename Op , int N>
template<typename A , typename Op , int N>
compute and return the value of the subexpression in the parse tree below us at an offset in dimension 1, 2, and/or 3. Used for evaluating convolutions
template<typename A , typename Op , int N>
template<typename A , typename Op , int N>
template<typename A , typename Op , int N>
template<typename A , typename Op , int N>
Return the width of the lower/upper boundary in dimension dim
to be left unevaluated. Zero in most cases except for convolutions, which do require padding of the half-width of the kernel.
template<typename A , typename Op , int N>
template<typename A , typename Op , int N>
template<typename A , typename Op , int N>
template<typename A , typename Op , int N>
bool ltl::ExprUnopNode< A, Op, N >::isConformable |
( |
const Shape< N > & |
other |
) |
const [inline] |
template<typename A , typename Op , int N>
template<typename A , typename Op , int N>
Return a shape
object from the operand parse tree.