void fmpz_mod_poly_fit_length(fmpz_mod_poly_t poly, slong len) { if (len > poly->alloc) { /* At least double number of allocated coeffs */ if (len < 2 * poly->alloc) len = 2 * poly->alloc; fmpz_mod_poly_realloc(poly, len); } }
int main(void) { int i; flint_rand_t state; printf("init/init2/realloc/clear...."); fflush(stdout); flint_randinit(state); for (i = 0; i < 10000; i++) { fmpz_t p; fmpz_mod_poly_t a; fmpz_init(p); fmpz_randtest_unsigned(p, state, 2 * FLINT_BITS); fmpz_add_ui(p, p, 2); fmpz_mod_poly_init2(a, p, n_randint(state, 100)); fmpz_mod_poly_clear(a); fmpz_clear(p); } for (i = 0; i < 10000; i++) { fmpz_t p; fmpz_mod_poly_t a; fmpz_init(p); fmpz_randtest_unsigned(p, state, 2 * FLINT_BITS); fmpz_add_ui(p, p, 2); fmpz_mod_poly_init2(a, p, n_randint(state, 100)); fmpz_mod_poly_realloc(a, n_randint(state, 100)); fmpz_mod_poly_clear(a); fmpz_clear(p); } for (i = 0; i < 10000; i++) { fmpz_t p; fmpz_mod_poly_t a; fmpz_init(p); fmpz_randtest_unsigned(p, state, 2 * FLINT_BITS); fmpz_add_ui(p, p, 2); fmpz_mod_poly_init(a, p); fmpz_mod_poly_randtest(a, state, n_randint(state, 100)); fmpz_mod_poly_clear(a); fmpz_clear(p); } flint_randclear(state); _fmpz_cleanup(); printf("PASS\n"); return 0; }