#include <cmath>#include <cstdlib>#include <more/math/math.h>Include dependency graph for lambda_math.h:

Go to the source code of this file.
|
|
Value: using more::Name;\
template<typename Expr1, typename Expr2> struct Name##_expr {};\
template<typename Expr1, typename Expr2>\
struct expr< Name##_expr<Expr1, Expr2> > {\
typedef typename Expr1::result_type result_type;\
template<typename Assign>\
result_type operator()(const Assign& a) {\
return Name(x(a), y(a));\
}\
template<typename Assign>\
result_type operator()(const Assign& a) const {\
return Name(x(a), y(a));\
}\
expr(const Expr1& x_, const Expr2& y_) : x(x_), y(y_) {}\
private:\
Expr1 x;\
Expr2 y;\
};\
template<typename T1, typename T2>\
expr<Name##_expr< typename which_expr<T1>::eval,\
typename which_expr<T2>::eval > >\
Name(const T1& x, const T2& y) {\
return expr< Name##_expr< typename which_expr<T1>::eval,\
typename which_expr<T2>::eval > >(x, y);\
} |
|
|
Value: using more::Name;\
template<typename Expr> struct Name##_expr {};\
template<typename Expr>\
struct expr< Name##_expr<Expr> > {\
typedef typename Expr::result_type argument_type;\
typedef Result result_type;\
template<typename Assign>\
result_type operator()(const Assign& a) {\
return Name(x(a));\
}\
template<typename Assign>\
result_type operator()(const Assign& a) const {\
return Name(x(a));\
}\
explicit expr(const Expr& x_) : x(x_) {}\
private:\
Expr x;\
};\
template<typename Expr>\
expr< Name##_expr< expr<Expr> > >\
Name(const expr<Expr>& x) {\
return expr< Name##_expr< expr<Expr> > >(x);\
} |