#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);\ } |