LTL
2.0.x
|
This file defines expression template parse tree nodes and macors for creating global unary and binary operators/functions. More...
Classes | |
class | ltl::ExprNode< A, N > |
Node in the expression parse tree. Every expression in ultimately represented by this class. More... | |
class | ltl::ExprBinopNode< A, B, Op, N > |
Binary operation node in the expression parse tree. More... | |
class | ltl::ExprUnopNode< A, Op, N > |
Unary operation node in the expression parse tree. More... | |
class | ltl::ExprLiteralNode< T > |
Node in the expression parse tree representing a literal number. More... | |
Namespaces | |
ltl | |
Macros | |
#define | BINOP_AA(operator, op) |
Define the global binary functions/operators for ltl::MArray expressions, version for 2 MArray operands, overloaded versions below. More... | |
#define | BINOP_AE(operator, op) |
#define | BINOP_EA(operator, op) |
#define | BINOP_AL(operator, op) |
#define | BINOP_LA(operator, op) |
#define | BINOP_EE(operator, op) |
#define | BINOP_EL(operator, op) |
#define | BINOP_LE(operator, op) |
#define | UNOP_E(operator, op) |
Define the global unary operators, overloaded versions for marray operand. More... | |
#define | DECLARE_UNOP(operation, opname) |
Make a unary (built-in) operator available to expression templates.This macro declares all necessary overloaded operators to build the parse tree for a given unary operator operation . The return type is the standard C type-promoted result of the operation on built in scalar types. More... | |
#define | DECLARE_UNARY_FUNC_(function) |
Make any unary function available to expression templates.This macro declares all necessary overloaded operators to build the parse tree for a given unary function function . The return type may be different than the operand type. More... | |
#define | DECLARE_BINARY_FUNC(function, ret_type) |
Make any user-defined binary function available to expression templates.This macro declares all necessary overloaded operators to build the parse tree for a given binary function function . The return type may be different than the operand type. More... | |
#define | DECLARE_UNARY_FUNC(function, ret_type) |
Make any user-defined unary function available to expression templates.This macro declares all necessary overloaded operators to build the parse tree for a given unary function function . The return type may be different than the operand type. More... | |
#define | DECLARE_BINOP(operation, opname) |
Make a binary (built-in) operator available to expression templates.This macro declares all necessary overloaded operators to build the parse tree for a given binary operator operation . The return type is the standard C type-promoted result of the operation on built in scalar types. More... | |
#define | DECLARE_BINARY_FUNC_(function) |
Make any binary function available to expression templates.This macro declares all necessary overloaded operators to build the parse tree for a given binary function function . The return type may be different than the operand type. More... | |
Functions | |
template<typename A , typename B > | |
const Shape< A::dims > * | ltl::_expr_getshape (const A &a, const B &) |
Determine the shape of an expression by returning the ltl::Shape objects on one of the ltl::MArray operatnds. More... | |
template<typename A , typename T > | |
const Shape< A::dims > * | ltl::_expr_getshape (const A &a, const ExprLiteralNode< T > &) |
template<typename A , typename T > | |
const Shape< A::dims > * | ltl::_expr_getshape (const ExprLiteralNode< T > &, const A &a) |
template<typename A , typename B > | |
int | ltl::_expr_getalign (const A &a, const B &) |
Determine the alignment (w.r.t. natural vector boundaries) of the operands in an expression. More... | |
template<typename A , typename T > | |
int | ltl::_expr_getalign (const A &a, const ExprLiteralNode< T > &) |
template<typename T , typename A > | |
int | ltl::_expr_getalign (const ExprLiteralNode< T > &, const A &a) |
This file defines expression template parse tree nodes and macors for creating global unary and binary operators/functions.
#define BINOP_AE | ( | operator, | |
op | |||
) |
#define BINOP_EA | ( | operator, | |
op | |||
) |
#define BINOP_AL | ( | operator, | |
op | |||
) |
#define BINOP_LA | ( | operator, | |
op | |||
) |
#define BINOP_EE | ( | operator, | |
op | |||
) |
#define BINOP_EL | ( | operator, | |
op | |||
) |
#define BINOP_LE | ( | operator, | |
op | |||
) |