Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

more/gen/lambda_math.h File Reference

#include <cmath>
#include <cstdlib>
#include <more/math/math.h>

Include dependency graph for lambda_math.h:

Include dependency graph

Go to the source code of this file.

Namespaces

Defines


Define Documentation

#define MORE_DEF Name   
 

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

#define MORE_DEF Name,
Result   
 

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


Generated on Sat Sep 7 19:11:28 2002 for more with Doxygen 1.2.13.1. Doxygen 1.2.13.1 is written and copyright 1997-2002 by Dimitri van Heesch.