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 16375-9f41ae0) Lines: 2176 2334 93.2 %
Date: 2014-04-19 Functions: 202 215 94.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1425 1789 79.7 %

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 20552
F2m_gauss_sp 9044
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 1298
F2m_ker_sp 93006
F2m_rank 58
F2m_suppl 7
F2v_find_nonzero 786909
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 9252
Fl_get_col_OK 508456
Flm_Flc_gauss 14
Flm_Flc_invimage 29703
Flm_deplin 2975
Flm_det 2088
Flm_det_sp 2088
Flm_det_sp_OK 2074
Flm_gauss 28
Flm_gauss_pivot 80054
Flm_gauss_sp 50233
Flm_image 35
Flm_indexrank 607
Flm_inv 10008
Flm_inv_sp 36940
Flm_inv_upper_1 14
Flm_inv_upper_1_ind 28
Flm_invimage 0
Flm_invimage_i 14
Flm_ker 31109
Flm_ker_sp 333698
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 28958
FpM_deplin 43966
FpM_det 49
FpM_det_gen 49
FpM_gauss 14
FpM_gauss_gen 6763
FpM_gauss_i 29030
FpM_gauss_pivot 55799
FpM_gauss_pivot_gen 1969
FpM_image 34732
FpM_indexrank 21
FpM_init 208649
FpM_intersect 42591
FpM_inv 23907
FpM_inv_upper_1 7
FpM_inv_upper_1_ind 14
FpM_invimage 0
FpM_invimage_i 7
FpM_ker 74437
FpM_ker_gen 4153
FpM_ker_i 123827
FpM_rank 2478
FpM_suppl 18561
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 7
FqM_rank 56
FqM_suppl 189
QM_inv 2338
RgM_Fp_init 2060
RgM_Hadamard 57
RgM_RgC_invimage 3521
RgM_det2 67700
RgM_inv_upper 6307
RgM_inv_upper_ind 15827
RgM_invimage 35
RgM_pivots 5130
RgM_solve 283255
RgM_solve_realimag 223380
RgMs_structelim 42
RgV_deplin 28
ZM_count_0_cols 43709
ZM_det 21
ZM_det2 7
ZM_det3 63
ZM_det_i 134
ZM_detmult 252969
ZM_gauss 1766
ZM_imagecompl 0
ZM_imagecomplspec 15904
ZM_indeximage 0
ZM_inv 6066
ZM_pivots 44213
ZM_rank 26747
_Fl_add 11
_Fl_add_OK 34602567
_Fl_addmul 638973
_Fl_addmul_OK 219750265
_Fl_sub 25285
_Fl_submul 258190
_copy 28662
_gen_addmul 5277896
_gen_get_col 11684
_submul 2410546
approx_0 563540
closemodinvertible 5236
coeff_det 336
col_count_non_zero 700
deplin 196
deplin_aux 98
det 68270
det0 1568
det2 2403
det_bareiss 126
det_develop 378
det_init_max 42
det_simple_gauss 1251
detint 28
eigen 7
fill_wcol 2156
gauss 189
gauss_get_pivot_NZ 243323
gauss_get_pivot_max 563540
gauss_get_pivot_padic 259
gauss_pivot 294
gauss_pivot_ker 3801
gaussmodulo 7
gaussmodulo2 7
gaussmoduloall 63
gen_Gauss 7029
gen_Gauss_pivot 2144
gen_det 70
gen_gerepile_gauss_ker 16
gen_ker 4566
gen_matcolmul 21
gen_matcolmul_i 84
gen_matmul 21
gerepile_gauss 884
gerepile_gauss_ker 6
gerepile_mat 16
get_col 450144
get_pivot_fun 221843
get_suppl 18645
image 126
image2 7
image_from_pivot 34865
imagecompl 84
imagecompl_aux 84
imagecomplspec 0
imagecomplspec_aux 15904
indeximage0 0
indexrank 84
indexrank0 2394
indexrank_all 1682
init_gauss 218711
init_indexrank 712
init_suppl 18645
inverseimage 3556
is_modular_solve 283255
ker 3682
ker_aux 3801
keri 14
mateigen 70
matimage0 119
matker0 133
matsolvemod0 63
mydiv 1274
parallelogramarea 177
perm_complete 3364
rank 156
reducemodinvertible 14
reducemodlll 0
rem_col 52171
rem_singleton 2198
row_count_non_zero 644
split_realimag 457687
split_realimag_col 878749
suppl 56

Generated by: LCOV version 1.9