12 #ifndef ROOT_TMathBase 13 #define ROOT_TMathBase 50 template<
typename Integer>
57 template<
typename T1,
typename T2>
101 {
return ! (a & 1); }
109 {
return (d >= 0) ?
d :
Short_t(-d); }
112 {
return std::abs(d); }
115 {
return std::labs(d); }
118 #if __cplusplus >= 201103 119 {
return std::llabs(d); }
121 {
return (d >= 0) ?
d : -
d; }
125 {
return std::abs(d); }
128 {
return std::abs(d); }
131 {
return std::abs(d); }
136 template<
typename Integer>
141 {
return std::signbit(a); }
144 {
return std::signbit(a); }
147 {
return std::signbit(a); }
152 template<
typename T1,
typename T2>
157 {
return std::copysign(a,b); }
160 {
return std::copysign(a,b); }
163 {
return std::copysign(a,b); }
169 {
return a <= b ?
a :
b; }
172 {
return a <= b ?
a :
b; }
175 {
return a <= b ?
a :
b; }
178 {
return a <= b ?
a :
b; }
181 {
return a <= b ?
a :
b; }
184 {
return a <= b ?
a :
b; }
187 {
return a <= b ?
a :
b; }
190 {
return a <= b ?
a :
b; }
193 {
return a <= b ?
a :
b; }
196 {
return a <= b ?
a :
b; }
201 {
return a >= b ?
a :
b; }
204 {
return a >= b ?
a :
b; }
207 {
return a >= b ?
a :
b; }
210 {
return a >= b ?
a :
b; }
213 {
return a >= b ?
a :
b; }
216 {
return a >= b ?
a :
b; }
219 {
return a >= b ?
a :
b; }
222 {
return a >= b ?
a :
b; }
225 {
return a >= b ?
a :
b; }
228 {
return a >= b ?
a :
b; }
233 {
return x < lb ? lb : (x > ub ? ub :
x); }
236 {
return x < lb ? lb : (x > ub ? ub :
x); }
239 {
return x < lb ? lb : (x > ub ? ub :
x); }
242 {
return x < lb ? lb : (x > ub ? ub :
x); }
245 {
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