12 #ifndef ROOT_TMathBase 13 #define ROOT_TMathBase 52 template<
typename Integer>
59 template<
typename T1,
typename T2>
103 {
return ! (a & 1); }
111 {
return (d >= 0) ? d :
Short_t(-d); }
114 {
return std::abs(d); }
117 {
return std::labs(d); }
120 #if __cplusplus >= 201103 121 {
return std::llabs(d); }
123 {
return (d >= 0) ? d : -d; }
127 {
return std::abs(d); }
130 {
return std::abs(d); }
133 {
return std::abs(d); }
138 template<
typename Integer>
143 {
return std::signbit(a); }
146 {
return std::signbit(a); }
149 {
return std::signbit(a); }
154 template<
typename T1,
typename T2>
159 {
return std::copysign(a,b); }
162 {
return std::copysign(a,b); }
165 {
return std::copysign(a,b); }
171 {
return a <= b ?
a :
b; }
174 {
return a <= b ?
a :
b; }
177 {
return a <= b ?
a :
b; }
180 {
return a <= b ?
a :
b; }
183 {
return a <= b ?
a :
b; }
186 {
return a <= b ?
a :
b; }
189 {
return a <= b ?
a :
b; }
192 {
return a <= b ?
a :
b; }
195 {
return a <= b ?
a :
b; }
198 {
return a <= b ?
a :
b; }
203 {
return a >= b ?
a :
b; }
206 {
return a >= b ?
a :
b; }
209 {
return a >= b ?
a :
b; }
212 {
return a >= b ?
a :
b; }
215 {
return a >= b ?
a :
b; }
218 {
return a >= b ?
a :
b; }
221 {
return a >= b ?
a :
b; }
224 {
return a >= b ?
a :
b; }
227 {
return a >= b ?
a :
b; }
230 {
return a >= b ?
a :
b; }
235 {
return x < lb ? lb : (x > ub ? ub :
x); }
238 {
return x < lb ? lb : (x > ub ? ub :
x); }
241 {
return x < lb ? lb : (x > ub ? ub :
x); }
244 {
return x < lb ? lb : (x > ub ? ub :
x); }
247 {
return x < lb ? lb : (x > ub ? ub :
x); }
Short_t Range(Short_t lb, Short_t ub, Short_t x)
Short_t Min(Short_t a, Short_t b)
unsigned long long ULong64_t
Long_t NextPrime(Long_t x)
TMath Base functionsDefine the functions Min, Max, Abs, Sign, Range for all types.
Bool_t SignBit(Integer a)
Short_t Max(Short_t a, Short_t b)
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b