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