40 __int128
xgcd( __int128 p_a, __int128 p_b, __int128 & p_s, __int128 & p_t );
58 int32_t
rand( uint32_t * seed );
62 inline __int128
mmod( __int128 p_x, __int128 p_m ) {
63 const __int128 res = p_x % p_m;
64 return res>=0 ? res : res+p_m;
Collection of numeric algorithms.
Definition algo.h:27
__int128 xgcd(__int128 p_a, __int128 p_b, __int128 &p_s, __int128 &p_t)
Extended Euclidean algorithm.
Definition algo.cpp:31
bool isint128(std::string p_str)
Is the string a 128 bit integer.
Definition algo.cpp:72
__int128 mmod(__int128 p_x, __int128 p_m)
Mathematical modulus.
Definition algo.h:62
int32_t rand(uint32_t *seed)
ISO C rand_r() for 32 bit.
Definition algo.cpp:133