void randpoly_unsigned(mpz_poly_t pol, unsigned long length, unsigned long maxbits) { unsigned long bits; mpz_t temp; mpz_init(temp); mpz_poly_zero(pol); unsigned long i; for (i = 0; i < length; i++) { #if VARY_BITS bits = randint(maxbits); #else bits = maxbits; #endif if (bits == 0) mpz_set_ui(temp,0); else { mpz_rrandomb(temp, randstate, bits); } mpz_poly_set_coeff(pol, i, temp); } mpz_clear(temp); }
void randpoly(mpz_poly_t pol, unsigned long length, unsigned long maxbits) { unsigned long bits; mpz_t temp; mpz_init(temp); mpz_poly_zero(pol); for (unsigned long i = 0; i < length; i++) { bits = maxbits; if (bits == 0) mpz_set_ui(temp,0); else { mpz_urandomb(temp, randstate, bits); #if SIGNS if (randint(2)) mpz_neg(temp,temp); #endif } mpz_poly_set_coeff(pol, i, temp); } mpz_clear(temp); }