explicit FlintZZ_pX(const ZZ_pX& a) { long da = deg(a); FlintZZ f_p(ZZ_p::modulus()); fmpz_mod_poly_init2(value, f_p.value, da+1); for (long i = 0; i <= da; i++) { FlintZZ f_c(rep(a[i])); fmpz_mod_poly_set_coeff_fmpz(value, i, f_c.value); } }
void gghlite_enc_init(gghlite_enc_t op, const gghlite_params_t self) { assert(!fmpz_is_zero(self->q)); fmpz_mod_poly_init2(op, self->q, self->n); }
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; }