12 #ifndef ROOT_TMathBase
13 #define ROOT_TMathBase
50 template<
typename Integer>
57 template<
typename T1,
typename T2>
58 inline T1
Sign( T1 a, T2 b);
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); }
unsigned long long ULong64_t
LongDouble_t Abs(LongDouble_t d)
Short_t Max(Short_t a, Short_t b)
Long_t NextPrime(Long_t x)
Short_t Range(Short_t lb, Short_t ub, Short_t x)
Bool_t SignBit(LongDouble_t a)
Short_t Min(Short_t a, Short_t b)
Bool_t SignBit(Integer a)