1 #ifndef PhysicsTools_Utilities_Factorize_h
2 #define PhysicsTools_Utilities_Factorize_h
10 #include <type_traits>
16 static const bool value =
false;
22 TEMPL(T2)
struct Divides :
public Divides0<A> {};
30 static const bool value =
true;
46 static const bool value =
true;
48 static const int p = []() {
67 template <
int n,
bool positive = (n >= 0)>
81 static const bool value = (gcd != 1);
88 static const bool value =
true;
99 typedef Divides<A, B>
Div;
107 typedef Divides<A, B>
Div;
124 typedef Divides<arg, void>
D0;
125 typedef Divides<arg, B>
D1;
126 typedef Divides<arg, C>
D2;
135 typedef Divides<arg, void>
D0;
136 typedef Divides<A, C>
D1;
137 typedef Divides<B, C>
D2;
147 typedef Divides<arg, void>
D0;
148 typedef Divides<arg, C>
D1;
149 typedef Divides<arg, D>
D2;
178 return f * ((_1 /
f) + (_2 /
f));