27 # define log2(x) (log(x) / log(2.0))
39 template<
class T>
static T
max (T a, T b) ;
44 template<
class T>
static T
min (T a, T b) ;
54 template<
class T>
static T
bminus (T a, T b) ;
59 template<
class T, T top>
static T
bplus (T a, T b) ;
60 template<
class T>
static T
bplus (T a, T b, T top) ;
65 template<
class T,
class CTYPE>
static T
modsum (T* s, CTYPE n, T m) ;
70 template<
class IT,
class FT>
static IT
roundup (FT x) ;
75 template<
class T>
static T
log2_ceil (T n) ;
104 return ((a + b) / c) ;
118 template<
class T, T top>
142 template<
class T,
class CTYPE>
146 for (CTYPE i = CTYPE() ; i < n ; ++i) {
147 retval = (retval + s[i]) % m ;
152 template<
class IT,
class FT>
156 FT intpart = (FT) ((IT) x) ;
157 if (x - intpart == (FT) 0.0) {
161 retval = ((IT) x) + 1 ;
171 n = div_roundup<T> (n, 2) ;
177 #endif // ndef SH_AUTILS_H
provides some generic functions for non-standard arithmetic operations
Definition: AUtils.h:34
static T div_roundup(T a, T b)
Definition: AUtils.h:101
static T bminus(T a, T b)
Definition: AUtils.h:108
static IT roundup(FT x)
Definition: AUtils.h:153
static T max(T a, T b)
Definition: AUtils.h:79
static T bplus(T a, T b)
Definition: AUtils.h:119
static T min(T a, T b)
Definition: AUtils.h:90
static T log2_ceil(T n)
Definition: AUtils.h:167
static T modsum(T *s, CTYPE n, T m)
Definition: AUtils.h:143