CMS 3D CMS Logo

Classes | Namespaces | Defines | Functions | Variables

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/PhysicsTools/Utilities/interface/Primitive.h File Reference

#include "PhysicsTools/Utilities/interface/Functions.h"
#include "PhysicsTools/Utilities/interface/Operations.h"
#include "PhysicsTools/Utilities/interface/Fraction.h"
#include "PhysicsTools/Utilities/interface/Derivative.h"
#include "PhysicsTools/Utilities/interface/Parameter.h"
#include "PhysicsTools/Utilities/interface/Identity.h"
#include <boost/type_traits.hpp>
#include "PhysicsTools/Utilities/interface/Simplify_begin.h"
#include "PhysicsTools/Utilities/interface/Simplify_end.h"

Go to the source code of this file.

Classes

struct  funct::ConstPrimitive< X, F, independent >
struct  funct::ConstPrimitive< X, F, true >
struct  funct::PartIntegral< TYPXT2, bint, aint >
struct  funct::PartIntegral2< TYPXT2, bint, aint >
struct  funct::Primitive< F, X >
struct  funct::Primitive< F >
struct  funct::Primitive< Parameter >
struct  funct::ProductPrimitive< TYPXT2, indepf, indepg >
struct  funct::RatioPrimitive< TYPXT2, indepa, indepb >
struct  funct::UndefinedIntegral

Namespaces

namespace  funct

Defines

#define DECLARE_FUNCT_PRIMITIVE(F, P)
#define DECLARE_PRIMITIVE(X, F, P)

Functions

 funct::PRIMIT_RULE (TYPXT2, POWER_S(A, B), UndefinedIntegral, type())
 funct::PRIMIT_RULE (TYPX, X, RATIO(POWER(X, NUM(2)), NUM(2)), pow(_, num< 2 >())/num< 2 >())
 funct::PRIMIT_RULE (TYPXT1, MINUS_S(A), MINUS(PRIMIT(X, A)),-primitive< X >(_._))
 funct::PRIMIT_RULE (TYPXT2, SUM_S(A, B), SUM(PRIMIT(X, A), PRIMIT(X, B)), primitive< X >(_._1)+primitive< X >(_._2))
 funct::PRIMIT_RULE (TYPX, RATIO_S(NUM(1), POWER_S(SIN_S(X), NUM(2))), RATIO(NUM(-1), TAN(X)), num<-1 >()/tan(_._2._1._))
 funct::PRIMIT_RULE (TYPX, RATIO_S(NUM(1), POWER_S(COS_S(X), NUM(2))), TAN(X), tan(_._2._1._))
 funct::PRIMIT_RULE (TYPXN2, POWER_S(X, FRACT_S(n, m)), PROD(FRACT(m, n+m), POWER(X, FRACT(n+m, m))),(fract< m, n+m >()*pow(_._1, fract< n+m, m >())))
 funct::PRIMIT_RULE (TYPX, RATIO_S(NUM(1), X), LOG(ABS(X)), log(abs(_._2)))
 funct::PRIMIT_RULE (TYPX, TAN_S(X), MINUS(LOG(ABS(COS(X)))),-log(abs(cos(_._))))
 funct::PRIMIT_RULE (TYPX, COS_S(X), SIN(X), sin(_._))
 funct::PRIMIT_RULE (TYPX, SIN_S(X), MINUS(COS(X)),-cos(_._))
 funct::PRIMIT_RULE (TYPX, POWER_S(X, NUM(-1)), LOG(ABS(X)), log(abs(_._1)))
 funct::PRIMIT_RULE (TYPX, LOG_S(X), PROD(X, DIFF(LOG(X), NUM(1))), _._ *(_-num< 1 >()))
 funct::PRIMIT_RULE (TYPX, EXP_S(X), EXP(X), _)
 funct::PRIMIT_RULE (TYPX, SQRT_S(X), PRIMIT(X, POWER_S(X, FRACT_S(1, 2))),(fract< 2, 3 >()*pow(_._, fract< 3, 2 >())))
 funct::PRIMIT_RULE (TYPXN1, POWER_S(X, NUM(n)), RATIO(POWER(X, NUM(n+1)), NUM(n+1)), pow(_._1, num< n+1 >())/num< n+1 >())
 funct::PRIMIT_RULE (TYPXN1, POWER_S(RATIO_S(NUM(1), X), NUM(n)), RATIO(NUM(-1), PROD(NUM(n-1), POWER(X, NUM(n-1)))), num<-1 >()/(num< n-1 >()*pow(_._1._2, num< n-1 >())))
 funct::PRIMIT_RULE (TYPX, SGN_S(X), ABS(X), abs(_._))
 funct::PRIMIT_RULE (TYPXN1, RATIO_S(NUM(1), POWER_S(X, NUM(n))), RATIO(NUM(-1), PROD(NUM(n-1), POWER(X, NUM(n-1)))), num<-1 >()/(num< n-1 >()*pow(_._2._1, num< n-1 >())))
template<typename X , typename F >
Primitive< F, X >::type funct::primitive (const F &f)
template<typename F >
Primitive< F >::type funct::primitive (const F &f)
 funct::TEMPL (XT2) struct PartIntegral<X

Variables

 funct::false
 funct::true

Define Documentation

#define DECLARE_FUNCT_PRIMITIVE (   F,
 
)
Value:
namespace funct { \
template<> struct Primitive<F> { \
  typedef P type; \
  inline static type get(const F& _) \
  { return type(); } \
}; \
} \
struct __useless_ignoreme

Definition at line 308 of file Primitive.h.

#define DECLARE_PRIMITIVE (   X,
  F,
 
)
Value:
namespace funct { \
template<typename X> struct Primitive<F, X> { \
  typedef P type; \
  inline static type get(const F& _) \
  { return type(_._); } \
}; \
} \
struct __useless_ignoreme

Definition at line 298 of file Primitive.h.