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 16746-c2cb716) Lines: 2195 2336 94.0 %
Date: 2014-08-31 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 5
F2m_F2c_invimage 5
F2m_deplin 0
F2m_det 10
F2m_det_sp 10
F2m_gauss 10
F2m_gauss_pivot 14350
F2m_gauss_sp 6445
F2m_image 5
F2m_indexrank 0
F2m_inv 20
F2m_inv_upper_1 5
F2m_inv_upper_1_ind 10
F2m_invimage 0
F2m_invimage_i 5
F2m_ker 895
F2m_ker_sp 78593
F2m_rank 45
F2m_suppl 5
F2v_find_nonzero 729323
F2xqM_F2xqC_mul 5
F2xqM_det 5
F2xqM_gauss_gen 5
F2xqM_gauss_pivot 10
F2xqM_image 5
F2xqM_inv 5
F2xqM_ker 5
F2xqM_ker_i 5
F2xqM_mul 5
F2xqM_rank 5
Fl_get_col 6644
Fl_get_col_OK 1464039
Flm_Flc_gauss 10
Flm_Flc_invimage 21970
Flm_deplin 2125
Flm_det 166203
Flm_det_sp 166203
Flm_det_sp_OK 166193
Flm_gauss 20
Flm_gauss_pivot 58545
Flm_gauss_sp 180072
Flm_image 25
Flm_indexrank 3100
Flm_inv 7274
Flm_inv_sp 170889
Flm_inv_upper_1 10
Flm_inv_upper_1_ind 20
Flm_invimage 0
Flm_invimage_i 10
Flm_ker 24430
Flm_ker_sp 250710
Flm_rank 10
Flm_suppl 10
FlxqM_FlxqC_gauss 0
FlxqM_FlxqC_mul 5
FlxqM_det 5
FlxqM_gauss 0
FlxqM_gauss_gen 5
FlxqM_gauss_pivot 70
FlxqM_image 5
FlxqM_inv 5
FlxqM_ker 208
FlxqM_ker_i 208
FlxqM_mul 5
FlxqM_rank 40
FpM_FpC_gauss 3651
FpM_FpC_invimage 20235
FpM_deplin 30925
FpM_det 35
FpM_det_gen 35
FpM_gauss 10
FpM_gauss_gen 4573
FpM_gauss_i 20151
FpM_gauss_pivot 38815
FpM_gauss_pivot_gen 1433
FpM_image 24160
FpM_indexrank 15
FpM_init 181509
FpM_intersect 30135
FpM_inv 16490
FpM_inv_upper_1 5
FpM_inv_upper_1_ind 10
FpM_invimage 0
FpM_invimage_i 5
FpM_ker 87747
FpM_ker_gen 4291
FpM_ker_i 122548
FpM_rank 1770
FpM_suppl 12865
FqM_FqC_gauss 3816
FqM_FqC_mul 5
FqM_deplin 0
FqM_det 5
FqM_gauss 5
FqM_gauss_gen 180
FqM_gauss_pivot 70
FqM_gauss_pivot_gen 45
FqM_image 5
FqM_inv 5
FqM_ker 4113
FqM_ker_gen 82
FqM_ker_i 4113
FqM_mul 5
FqM_rank 40
FqM_suppl 135
QM_inv 1755
RgM_Fp_init 1475
RgM_Hadamard 11840
RgM_RgC_invimage 2515
RgM_det2 55845
RgM_inv_upper 4508
RgM_inv_upper_ind 11316
RgM_invimage 25
RgM_pivots 3692
RgM_solve 208622
RgM_solve_realimag 158000
RgMs_structelim 35
RgV_deplin 20
ZM_count_0_cols 30644
ZM_det 19765
ZM_det2 5350
ZM_det3 2070
ZM_det_i 19840
ZM_detmult 178956
ZM_gauss 1239
ZM_imagecompl 0
ZM_imagecomplspec 11292
ZM_indeximage 15
ZM_indexrank 70
ZM_inv 64109
ZM_pivots 31054
ZM_rank 18588
_Fl_add 350
_Fl_add_OK 25257892
_Fl_addmul 789457
_Fl_addmul_OK 156196959
_Fl_sub 20824
_Fl_submul 201299
_copy 535022
_gen_addmul 3775603
_gen_get_col 7568
_submul 1743676
approx_0 396876
closemodinvertible 3740
coeff_det 240
col_count_non_zero 500
deplin 140
deplin_aux 70
det 56212
det0 1130
det2 1722
det_bareiss 90
det_develop 270
det_init_max 30
det_simple_gauss 874
detint 20
eigen 5
fill_wcol 2125
gauss 135
gauss_get_pivot_NZ 186450
gauss_get_pivot_max 396876
gauss_get_pivot_padic 205
gauss_pivot 210
gauss_pivot_ker 5600
gaussmodulo 5
gaussmodulo2 5
gaussmoduloall 45
gen_Gauss 4763
gen_Gauss_pivot 1558
gen_det 50
gen_gerepile_gauss_ker 27
gen_ker 4586
gen_matcolmul 15
gen_matcolmul_i 60
gen_matmul 15
gerepile_gauss 666
gerepile_gauss_ker 21
gerepile_mat 27
get_col 322525
get_pivot_fun 160114
get_suppl 12925
image 90
image2 5
image_from_pivot 24255
imagecompl 60
imagecompl_aux 60
imagecomplspec 0
imagecomplspec_aux 11292
indeximage0 15
indexrank 60
indexrank0 4424
indexrank_all 1179
init_gauss 155054
init_indexrank 3260
init_suppl 12925
inverseimage 2540
is_modular_solve 208622
ker 5515
ker_aux 5600
keri 356
mateigen 50
matimage0 85
matker0 95
matsolvemod0 45
mydiv 910
parallelogramarea 36260
perm_complete 2358
rank 115
reducemodinvertible 10
reducemodlll 0
rem_col 47790
rem_singleton 2160
row_count_non_zero 460
split_realimag 323650
split_realimag_col 620704
suppl 40

Generated by: LCOV version 1.9