long_extras.h – support functions for signed word arithmetic

Properties

size_t z_sizeinbase(slong n, int b)

Returns the number of digits in the base \(b\) representation of the absolute value of the integer \(n\).

Assumes that \(b \geq 2\).

Random functions

mp_limb_signed_t z_randtest(flint_rand_t state)

Returns a pseudo random number with a random number of bits, from \(0\) to FLINT_BITS. The probability of the special values \(0\), \(\pm 1\), COEFF_MAX, COEFF_MIN, WORD_MAX and WORD_MIN is increased.

This random function is mainly used for testing purposes.

mp_limb_signed_t z_randtest_not_zero(flint_rand_t state)

As for z_randtest(state), but does not return \(0\).

mp_limb_t z_randint(flint_rand_t state, mp_limb_t limit)

Returns a pseudo random number of absolute value less than limit. If limit is zero or exceeds WORD_MAX, it is interpreted as WORD_MAX.