From cf476bd0c994c3d525de514b3471115d0dc2b1c3 Mon Sep 17 00:00:00 2001 From: fredrik Date: Mon, 25 Jun 2018 19:38:34 +0200 Subject: [PATCH] arb_mat_randtest: produce more sparse matrices --- arb_mat/randtest.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/arb_mat/randtest.c b/arb_mat/randtest.c index 5543894e..ee146935 100644 --- a/arb_mat/randtest.c +++ b/arb_mat/randtest.c @@ -14,15 +14,23 @@ void arb_mat_randtest(arb_mat_t mat, flint_rand_t state, slong prec, slong mag_bits) { - slong i, j; + slong i, j, density; + + density = n_randint(state, 100); if (n_randint(state, 2)) for (i = 0; i < arb_mat_nrows(mat); i++) for (j = 0; j < arb_mat_ncols(mat); j++) - arb_randtest(arb_mat_entry(mat, i, j), state, prec, mag_bits); + if (n_randint(state, 100) < density) + arb_randtest(arb_mat_entry(mat, i, j), state, prec, mag_bits); + else + arb_zero(arb_mat_entry(mat, i, j)); else for (i = 0; i < arb_mat_nrows(mat); i++) for (j = 0; j < arb_mat_ncols(mat); j++) - arb_randtest_precise(arb_mat_entry(mat, i, j), state, prec, mag_bits); + if (n_randint(state, 100) < density) + arb_randtest_precise(arb_mat_entry(mat, i, j), state, prec, mag_bits); + else + arb_zero(arb_mat_entry(mat, i, j)); }