Code coverage tests

This page documents the degree to which the PARI/GP source code is tested by our public test suite, distributed with the source distribution in directory src/test/. This is measured by the gcov utility; we then process gcov output using the lcov frond-end.

We test a few variants depending on Configure flags on the pari.math.u-bordeaux1.fr machine (x86_64 architecture), and agregate them in the final report:

The target is 90% coverage for all mathematical modules (given that branches depending on DEBUGLEVEL or DEBUGMEM are not covered). This script is run to produce the results below.

LCOV - code coverage report
Current view: top level - basemath - alglin1.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 16804-345a01c) Lines: 2195 2336 94.0 %
Date: 2014-09-20 Functions: 205 216 94.9 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1431 1787 80.1 %

Function Name Sort by function name Hit count Sort by hit count
F2m_F2c_gauss 7
F2m_F2c_invimage 7
F2m_deplin 0
F2m_det 14
F2m_det_sp 14
F2m_gauss 14
F2m_gauss_pivot 20195
F2m_gauss_sp 9128
F2m_image 7
F2m_indexrank 0
F2m_inv 28
F2m_inv_upper_1 7
F2m_inv_upper_1_ind 14
F2m_invimage 0
F2m_invimage_i 7
F2m_ker 1253
F2m_ker_sp 110655
F2m_rank 63
F2m_suppl 7
F2v_find_nonzero 1038878
F2xqM_F2xqC_mul 7
F2xqM_det 7
F2xqM_gauss_gen 7
F2xqM_gauss_pivot 14
F2xqM_image 7
F2xqM_inv 7
F2xqM_ker 7
F2xqM_ker_i 7
F2xqM_mul 7
F2xqM_rank 7
Fl_get_col 9350
Fl_get_col_OK 2049823
Flm_Flc_gauss 14
Flm_Flc_invimage 30863
Flm_deplin 3010
Flm_det 232055
Flm_det_sp 232055
Flm_det_sp_OK 232041
Flm_gauss 28
Flm_gauss_pivot 82340
Flm_gauss_sp 252213
Flm_image 35
Flm_indexrank 4340
Flm_inv 10205
Flm_inv_sp 239286
Flm_inv_upper_1 14
Flm_inv_upper_1_ind 28
Flm_invimage 0
Flm_invimage_i 14
Flm_ker 34307
Flm_ker_sp 291400
Flm_rank 14
Flm_suppl 14
FlxqM_FlxqC_gauss 0
FlxqM_FlxqC_mul 7
FlxqM_det 7
FlxqM_gauss 0
FlxqM_gauss_gen 7
FlxqM_gauss_pivot 98
FlxqM_image 7
FlxqM_inv 7
FlxqM_ker 292
FlxqM_ker_i 292
FlxqM_mul 7
FlxqM_rank 56
FpM_FpC_gauss 5109
FpM_FpC_invimage 28434
FpM_deplin 43400
FpM_det 49
FpM_det_gen 49
FpM_gauss 14
FpM_gauss_gen 6329
FpM_gauss_i 28314
FpM_gauss_pivot 54446
FpM_gauss_pivot_gen 1969
FpM_image 33824
FpM_indexrank 21
FpM_init 254630
FpM_intersect 42189
FpM_inv 23191
FpM_inv_upper_1 7
FpM_inv_upper_1_ind 14
FpM_invimage 0
FpM_invimage_i 7
FpM_ker 123053
FpM_ker_gen 5651
FpM_ker_i 171877
FpM_rank 2478
FpM_suppl 18116
FqM_FqC_gauss 5340
FqM_FqC_mul 7
FqM_deplin 0
FqM_det 7
FqM_gauss 7
FqM_gauss_gen 252
FqM_gauss_pivot 98
FqM_gauss_pivot_gen 63
FqM_image 7
FqM_inv 7
FqM_ker 5755
FqM_ker_gen 114
FqM_ker_i 5755
FqM_mul 91
FqM_rank 56
FqM_suppl 189
QM_inv 2464
RgM_Fp_init 2065
RgM_Hadamard 16576
RgM_RgC_invimage 3794
RgM_det2 84967
RgM_inv_upper 6364
RgM_inv_upper_ind 16013
RgM_invimage 35
RgM_pivots 5177
RgM_solve 239975
RgM_solve_realimag 168774
RgMs_structelim 49
RgV_deplin 28
ZM_count_0_cols 43241
ZM_det 27671
ZM_det2 7490
ZM_det3 2898
ZM_det_i 27776
ZM_detmult 198273
ZM_gauss 1735
ZM_imagecompl 0
ZM_imagecomplspec 15817
ZM_indeximage 21
ZM_indexrank 98
ZM_inv 89763
ZM_pivots 43815
ZM_rank 26354
_Fl_add 474
_Fl_add_OK 35355469
_Fl_addmul 1121157
_Fl_addmul_OK 218611571
_Fl_sub 29438
_Fl_submul 287685
_copy 793988
_gen_addmul 5270441
_gen_get_col 10522
_submul 1969110
approx_0 378573
closemodinvertible 5236
coeff_det 336
col_count_non_zero 700
deplin 196
deplin_aux 98
det 85473
det0 1582
det2 2419
det_bareiss 126
det_develop 378
det_init_max 42
det_simple_gauss 1224
detint 28
eigen 7
fill_wcol 2975
gauss 189
gauss_get_pivot_NZ 262227
gauss_get_pivot_max 378573
gauss_get_pivot_padic 287
gauss_pivot 294
gauss_pivot_ker 8113
gaussmodulo 7
gaussmodulo2 7
gaussmoduloall 63
gen_Gauss 6595
gen_Gauss_pivot 2144
gen_det 70
gen_gerepile_gauss_ker 41
gen_ker 6064
gen_matcolmul 21
gen_matcolmul_i 308
gen_matmul 105
gerepile_gauss 888
gerepile_gauss_ker 31
gerepile_mat 41
get_col 392945
get_pivot_fun 165561
get_suppl 18200
image 126
image2 7
image_from_pivot 33957
imagecompl 84
imagecompl_aux 84
imagecomplspec 0
imagecomplspec_aux 15817
indeximage0 21
indexrank 84
indexrank0 6194
indexrank_all 1651
init_gauss 158204
init_indexrank 4564
init_suppl 18200
inverseimage 3829
is_modular_solve 239975
ker 7994
ker_aux 8113
keri 498
mateigen 70
matimage0 119
matker0 133
matsolvemod0 63
mydiv 1274
parallelogramarea 50764
perm_complete 3302
rank 161
reducemodinvertible 14
reducemodlll 0
rem_col 66906
rem_singleton 3024
row_count_non_zero 644
split_realimag 348258
split_realimag_col 652691
suppl 56

Generated by: LCOV version 1.9