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); }
117 {
return std::labs(d); }
120 #if __cplusplus >= 201103
121 {
return std::llabs(d); }
123 {
return (d >= 0) ? d : -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)
static Vc_ALWAYS_INLINE Vector< T > abs(const Vector< T > &x)
Long_t NextPrime(Long_t x)
TMath Base functions.
unsigned long long ULong64_t
Bool_t SignBit(Integer a)
Bool_t SignBit(LongDouble_t a)
Short_t Max(Short_t a, Short_t b)
LongDouble_t Abs(LongDouble_t d)