CMS 3D CMS Logo

Classes | Namespaces | Typedefs | Functions | Variables
Factorize.h File Reference
#include "PhysicsTools/Utilities/interface/Numerical.h"
#include "PhysicsTools/Utilities/interface/ParametricTrait.h"
#include "PhysicsTools/Utilities/interface/DecomposePower.h"
#include "PhysicsTools/Utilities/interface/DecomposeProduct.h"
#include <boost/type_traits.hpp>
#include <boost/integer/common_factor.hpp>
#include <boost/mpl/and.hpp>
#include <boost/mpl/not.hpp>
#include <boost/mpl/int.hpp>
#include <boost/mpl/if.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::tmpl::abs< n, positive >
 
struct  funct::tmpl::abs< n, false >
 
struct  funct::FactorizeSum< TYPT2, factor >
 
struct  funct::ParametricDiv1< TYPT1, par >
 
struct  funct::ParametricDivN< TYPN2T1, par >
 

Namespaces

 funct
 
 funct::tmpl
 

Typedefs

typedef A funct::arg
 
typedef DecomposeProduct< arg, typename Div::arg > funct::D
 
typedef Divides< arg, void > funct::D0
 
typedef Divides< A, C > funct::D1
 
typedef Divides< B, C > funct::D2
 
typedef DecomposePower< A, NUM(n)> funct::Dec
 
typedef ::boost::mpl::if_< D1, D1, typename::boost::mpl::if_< D2, D2, D0 >::type >::type funct::Div
 
typedef arg funct::type
 

Functions

static type funct::combine (const A &_1, const B &_2)
 
 funct::GET (arg, _)
 
 funct::GET (arg, pow(Dec::getBase(_), num< p >()))
 
 funct::GET (arg, Div::get(_._))
 
 funct::GET (arg, Div::get(D::get(_)))
 
 funct::MINUS_S (B)>
 
 funct::MINUS_S (C)>
 
typedef funct::MINUS_S (A) arg
 
 funct::MINUS_S (PROD_S(B, C))>
 
 funct::MINUS_S (PROD_S(C, D))>
 
 funct::NUM (n))
 
 funct::NUM (m)>
 
typedef funct::POWER (A, NUM(n)) arg
 
typedef funct::POWER (A, NUM(p)) type
 
 funct::POWER_S (A, NUM(n))>
 
 funct::POWER_S (A, NUM(m))>
 
typedef funct::PROD (F, SUM(RATIO(A, F), RATIO(B, F))) type
 
 funct::PROD_S (A, B)>
 
 funct::PROD_S (B, C)>
 
 funct::PROD_S (C, D)>
 
 funct::TEMPL (T1) struct Divides0
 
 funct::TEMPL (T2) struct Divides
 
 funct::TEMPL (N1T1) struct Divides< POWER_S(A
 
 funct::TEMPL (N2T1) struct ParametricDivN<n
 
 funct::TEMPL (N2) struct Divides< NUM(n)
 
 funct::TEMPL (N1) struct Divides< NUM(n)
 
 funct::TEMPL (T3) struct Divides< PROD_S(A
 
 funct::TEMPL (T4) struct Divides< PROD_S(A
 
 funct::TEMPL (N1T2) struct Sum< PROD_S(A
 

Variables

void funct::__pad0__
 
funct::__pad1__
 
funct::__pad2__
 
funct::__pad3__
 
funct::__pad4__
 
 funct::A { }
 
 funct::B { }
 
 funct::C
 
 funct::false
 
 funct::m
 
static const int funct::p
 
 funct::true
 
static const bool funct::value = Div::value