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 18591-61b65cc) Lines: 2268 2423 93.6 %
Date: 2016-02-10 Functions: 203 220 92.3 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1512 1875 80.6 %

Function Name Sort by function name Hit count Sort by hit count
F2_get_col 62266
F2m_F2c_gauss 14
F2m_F2c_invimage 7
F2m_deplin 0
F2m_det 14
F2m_det_sp 28
F2m_gauss 28
F2m_gauss_pivot 24916
F2m_gauss_sp 11233
F2m_image 7
F2m_indexrank 0
F2m_inv 35
F2m_inv_upper_1 7
F2m_inv_upper_1_ind 14
F2m_invimage 0
F2m_invimage_i 7
F2m_ker 1281
F2m_ker_sp 117629
F2m_rank 63
F2m_suppl 7
F2v_find_nonzero 1027590
F2xqM_F2xqC_mul 7
F2xqM_det 7
F2xqM_gauss_gen 14
F2xqM_gauss_pivot 14
F2xqM_image 7
F2xqM_inv 14
F2xqM_ker 7
F2xqM_ker_i 7
F2xqM_mul 7
F2xqM_rank 7
Fl_get_col 11152
Fl_get_col_OK 2533105
Flm_Flc_gauss 21
Flm_Flc_invimage 34141
Flm_deplin 3178
Flm_det 234278
Flm_det_sp 234285
Flm_det_sp_OK 234271
Flm_gauss 42
Flm_gauss_pivot 148522
Flm_gauss_sp 303631
Flm_gauss_sp_OK 301635
Flm_image 28
Flm_indexrank 7133
Flm_intersect 0
Flm_inv 14634
Flm_inv_sp 286044
Flm_inv_upper_1 14
Flm_inv_upper_1_ind 28
Flm_invimage 0
Flm_invimage_i 14
Flm_ker 40970
Flm_ker_sp 379300
Flm_ker_sp_OK 373465
Flm_rank 14
Flm_suppl 14
FlxqM_FlxqC_gauss 0
FlxqM_FlxqC_mul 7
FlxqM_det 7
FlxqM_gauss 0
FlxqM_gauss_gen 14
FlxqM_gauss_pivot 265
FlxqM_image 7
FlxqM_inv 14
FlxqM_ker 328
FlxqM_ker_i 328
FlxqM_mul 142
FlxqM_rank 139
FpM_FpC_gauss 28
FpM_FpC_invimage 31719
FpM_deplin 48078
FpM_det 70
FpM_det_gen 49
FpM_gauss 21
FpM_gauss_gen 2807
FpM_gauss_i 31522
FpM_gauss_pivot 73966
FpM_gauss_pivot_gen 59
FpM_image 50416
FpM_indexrank 21
FpM_init 297741
FpM_intersect 47796
FpM_inv 31473
FpM_inv_upper_1 7
FpM_inv_upper_1_ind 14
FpM_invimage 0
FpM_invimage_i 7
FpM_ker 144728
FpM_ker_gen 1642
FpM_ker_i 193653
FpM_rank 7
FpM_suppl 23515
FqM_FqC_gauss 14
FqM_FqC_mul 7
FqM_deplin 0
FqM_det 7
FqM_gauss 7
FqM_gauss_gen 14
FqM_gauss_pivot 183
FqM_gauss_pivot_gen 64
FqM_image 7
FqM_inv 14
FqM_ker 1128
FqM_ker_gen 8
FqM_ker_i 1128
FqM_mul 96
FqM_rank 57
FqM_suppl 511
QM_inv 6370
RgM_Fp_init 2114
RgM_Hadamard 17185
RgM_RgC_invimage 1666
RgM_det2 2221
RgM_inv_upper 6756
RgM_inv_upper_ind 17280
RgM_invimage 35
RgM_pivots 7565
RgM_solve 314728
RgM_solve_realimag 210886
RgMs_structelim 0
RgMs_structelim_col 112
RgV_deplin 0
ZM_count_0_cols 90665
ZM_det 28007
ZM_det2 7434
ZM_det3 3003
ZM_det_i 28441
ZM_detmult 225186
ZM_gauss 2034
ZM_imagecompl 0
ZM_imagecomplspec 55122
ZM_indeximage 294
ZM_indexrank 1043
ZM_inv 100193
ZM_inv_ratlift 1890
ZM_pivots 93311
ZM_rank 34949
_Fl_add 64281
_Fl_add_OK 79441658
_Fl_addmul 14520376
_Fl_addmul_OK 504815857
_copy 443288
_gen_addmul 89332
_gen_get_col 7710
_submul 2500261
approx_0 530547
closemodinvertible 6055
coeff_det 441
col_count_non_zero 1204
deplin 161
deplin_aux 98
det 3373
det0 1610
det2 2680
det_bareiss 294
det_develop 616
det_init_max 175
det_simple_gauss 1453
detint 42
eigen 0
fill_wcol 5320
gauss 210
gauss_get_pivot_NZ 305114
gauss_get_pivot_max 530785
gauss_get_pivot_padic 287
gauss_pivot 546
gauss_pivot_ker 6433
gaussmodulo 0
gaussmodulo2 0
gaussmoduloall 49
gen_Gauss 2849
gen_Gauss_pivot 402
gen_det 70
gen_gerepile_gauss_ker 35
gen_ker 1985
gen_matcolmul 21
gen_matcolmul_i 491
gen_matmul 103
gerepile_gauss 89
gerepile_gauss_ker 25
gerepile_mat 35
get_col 485932
get_pivot_fun 231418
get_suppl 23697
image 378
image2 7
image_from_pivot 50794
imagecompl 84
imagecompl_aux 84
imagecomplspec 0
imagecomplspec_aux 55122
indeximage0 294
indexrank 77
indexrank0 10224
indexrank_all 1950
init_gauss 225608
init_indexrank 8568
init_suppl 23697
inverseimage 1428
is_modular_solve 314728
ker 6335
ker_aux 6433
keri 1009
mateigen 63
matimage0 119
matker0 133
matsolvemod0 49
mydiv 2268
parallelogramarea 52787
perm_complete 3900
rank 154
reducemodinvertible 7
reducemodlll 0
rem_col 90853
rem_singleton 5432
row_count_non_zero 1057
split_realimag 433091
split_realimag_col 841166
suppl 70

Generated by: LCOV version 1.9