/*============================================================================= This file is part of Antic. Antic is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License (LGPL) as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. See . =============================================================================*/ /****************************************************************************** Copyright (C) 2013 William Hart 2019 Vincent Delecroix ******************************************************************************/ #include #include "nf.h" int main(void) { int i; flint_rand_t state; flint_printf("init/clear...."); fflush(stdout); flint_randinit(state); /* not necessarily monic */ for (i = 0; i < 500 * antic_test_multiplier(); i++) { nf_t nf; fmpq_poly_t pol; fmpq_poly_init(pol); do { fmpq_poly_randtest_not_zero(pol, state, 2 + n_randint(state, 40), 10 + n_randint(state, 200)); } while (fmpq_poly_degree(pol) < 1); nf_init(nf, pol); nf_clear(nf); nf_init(nf, pol); fmpq_poly_clear(pol); nf_clear(nf); } /* monic */ for (i = 0; i < 500 * antic_test_multiplier(); i++) { fmpq_poly_t pol; nf_t nf; fmpq_poly_init(pol); do { fmpq_poly_randtest_not_zero(pol, state, 2 + n_randint(state, 40), 10 + n_randint(state, 200)); } while (fmpq_poly_degree(pol) < 1); fmpz_one(fmpq_poly_denref(pol)); fmpz_one(pol->coeffs + fmpq_poly_degree(pol)); nf_init(nf, pol); nf_clear(nf); nf_init(nf, pol); fmpq_poly_clear(pol); nf_clear(nf); } /* random */ for (i = 0; i < 500 * antic_test_multiplier(); i++) { nf_t nf; nf_init_randtest(nf, state, 2 + n_randint(state, 50), 1 + n_randint(state, 200)); nf_clear(nf); nf_init_randtest(nf, state, 2 + n_randint(state, 50), 1 + n_randint(state, 200)); nf_clear(nf); } flint_randclear(state); flint_printf("PASS\n"); return 0; }