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 17236-ec2ebc9) Lines: 2192 2337 93.8 %
Date: 2014-12-19 Functions: 201 216 93.1 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1441 1787 80.6 %

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 22844
F2m_gauss_sp 10379
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 1281
F2m_ker_sp 114139
F2m_rank 63
F2m_suppl 7
F2v_find_nonzero 1066364
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 13412
Fl_get_col_OK 2318640
Flm_Flc_gauss 14
Flm_Flc_invimage 32643
Flm_deplin 3248
Flm_det 232633
Flm_det_sp 232633
Flm_det_sp_OK 232619
Flm_gauss 28
Flm_gauss_pivot 99152
Flm_gauss_sp 279432
Flm_image 28
Flm_indexrank 5761
Flm_inv 11869
Flm_inv_sp 264302
Flm_inv_upper_1 14
Flm_inv_upper_1_ind 28
Flm_invimage 0
Flm_invimage_i 14
Flm_ker 37893
Flm_ker_sp 332055
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 210
FlxqM_image 7
FlxqM_inv 7
FlxqM_ker 307
FlxqM_ker_i 307
FlxqM_mul 7
FlxqM_rank 91
FpM_FpC_gauss 28
FpM_FpC_invimage 30228
FpM_deplin 45726
FpM_det 49
FpM_det_gen 49
FpM_gauss 14
FpM_gauss_gen 2311
FpM_gauss_i 27750
FpM_gauss_pivot 65783
FpM_gauss_pivot_gen 2217
FpM_image 41162
FpM_indexrank 21
FpM_init 271351
FpM_intersect 45213
FpM_inv 27708
FpM_inv_upper_1 7
FpM_inv_upper_1_ind 14
FpM_invimage 0
FpM_invimage_i 7
FpM_ker 132141
FpM_ker_gen 1641
FpM_ker_i 178553
FpM_rank 2723
FpM_suppl 21870
FqM_FqC_gauss 14
FqM_FqC_mul 7
FqM_deplin 0
FqM_det 7
FqM_gauss 7
FqM_gauss_gen 7
FqM_gauss_pivot 175
FqM_gauss_pivot_gen 63
FqM_image 7
FqM_inv 7
FqM_ker 946
FqM_ker_gen 8
FqM_ker_i 946
FqM_mul 35
FqM_rank 56
FqM_suppl 427
QM_inv 3710
RgM_Fp_init 2058
RgM_Hadamard 16723
RgM_RgC_invimage 4739
RgM_det2 87655
RgM_inv_upper 6560
RgM_inv_upper_ind 16636
RgM_invimage 35
RgM_pivots 5607
RgM_solve 247229
RgM_solve_realimag 172151
RgMs_structelim 49
RgV_deplin 0
ZM_count_0_cols 50691
ZM_det 28070
ZM_det2 7609
ZM_det3 3003
ZM_det_i 28182
ZM_detmult 204249
ZM_gauss 1929
ZM_imagecompl 0
ZM_imagecomplspec 16749
ZM_indeximage 70
ZM_indexrank 413
ZM_inv 94145
ZM_pivots 51531
ZM_rank 32501
_Fl_add 5390
_Fl_add_OK 41906082
_Fl_addmul 814800
_Fl_addmul_OK 281858580
_Fl_sub 244632
_Fl_submul 173974
_copy 3154997
_gen_addmul 78365
_gen_get_col 6274
_submul 2243263
approx_0 398827
closemodinvertible 6041
coeff_det 252
col_count_non_zero 609
deplin 161
deplin_aux 98
det 88387
det0 1582
det2 2717
det_bareiss 98
det_develop 343
det_init_max 91
det_simple_gauss 1546
detint 14
eigen 0
fill_wcol 2975
gauss 175
gauss_get_pivot_NZ 276524
gauss_get_pivot_max 398911
gauss_get_pivot_padic 287
gauss_pivot 448
gauss_pivot_ker 9219
gaussmodulo 0
gaussmodulo2 0
gaussmoduloall 49
gen_Gauss 2332
gen_Gauss_pivot 2504
gen_det 70
gen_gerepile_gauss_ker 86
gen_ker 1963
gen_matcolmul 21
gen_matcolmul_i 196
gen_matmul 49
gerepile_gauss 929
gerepile_gauss_ker 76
gerepile_mat 86
get_col 408274
get_pivot_fun 171874
get_suppl 22045
image 280
image2 7
image_from_pivot 41442
imagecompl 84
imagecompl_aux 84
imagecomplspec 0
imagecomplspec_aux 16749
indeximage0 70
indexrank 77
indexrank0 8089
indexrank_all 1817
init_gauss 163192
init_indexrank 6342
init_suppl 22045
inverseimage 4774
is_modular_solve 247229
ker 9121
ker_aux 9219
keri 757
mateigen 63
matimage0 119
matker0 133
matsolvemod0 49
mydiv 1596
parallelogramarea 52542
perm_complete 3634
rank 154
reducemodinvertible 7
reducemodlll 0
rem_col 66906
rem_singleton 3024
row_count_non_zero 497
split_realimag 355544
split_realimag_col 672318
suppl 70

Generated by: LCOV version 1.9