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 "PhysicsTools/Utilities/interface/Simplify_begin.h"
#include <type_traits>
#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 >
 
struct  funct::Sum< MINUS_S(PROD_S(A, B)), MINUS_S(PROD_S(C, D))>
 
struct  funct::Sum< MINUS_S(PROD_S(A, B)), PROD_S(C, D)>
 
struct  funct::Sum< PROD_S(A, B), MINUS_S(PROD_S(C, D))>
 

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 std::conditional< D1::value, D1, typename std::conditional< D2::value, 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(_)))
 
typedef funct::MINUS_S (A) arg
 
 funct::MINUS_S (B)>
 
PROD_S(A, B)> funct::NUM (n))
 
 funct::NUM (m)>
 
typedef funct::POWER (A, NUM(n)) arg
 
typedef funct::POWER (A, NUM(p)) type
 
typedef funct::PROD (F, SUM(RATIO(A, F), RATIO(B, F))) type
 
 funct::PROD_S (B, C)>
 
 funct::PROD_S (C, D)>
 
 funct::TEMPL (T1) struct Divides0
 
TEMPL(T2) struct Divides funct::TEMPL (T2) struct Divides< PROD_S(A
 
PROD_S(A, B)> 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)
 
MINUS_S(B)> 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

A funct::__pad0__
 
funct::__pad1__
 
 funct::A {}
 
TEMPL(T2) struct Divides funct::B {}
 
 funct::C
 
 funct::false
 
 funct::m
 
static const int funct::p
 
 funct::true
 
static const bool funct::value = Div::value
 
TEMPL(T2) struct Divides funct::void