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 16393-29b9383) Lines: 2186 2334 93.7 %
Date: 2014-04-24 Functions: 203 215 94.4 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1436 1789 80.3 %

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 12329
F2m_gauss 10
F2m_gauss_pivot 14680
F2m_gauss_sp 6458
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 928
F2m_ker_sp 95515
F2m_rank 40
F2m_suppl 5
F2v_find_nonzero 704499
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 6584
Fl_get_col_OK 1491584
Flm_Flc_gauss 10
Flm_Flc_invimage 26777
Flm_deplin 2125
Flm_det 258414
Flm_det_sp 277147
Flm_det_sp_OK 273135
Flm_gauss 20
Flm_gauss_pivot 60584
Flm_gauss_sp 183297
Flm_image 3465
Flm_indexrank 433
Flm_inv 7132
Flm_inv_sp 173848
Flm_inv_upper_1 3450
Flm_inv_upper_1_ind 5837
Flm_invimage 3440
Flm_invimage_i 3450
Flm_ker 28053
Flm_ker_sp 269143
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 20694
FpM_deplin 31416
FpM_det 32611
FpM_det_gen 1559
FpM_gauss 10
FpM_gauss_gen 4883
FpM_gauss_i 20740
FpM_gauss_pivot 39873
FpM_gauss_pivot_gen 1433
FpM_image 24820
FpM_indexrank 15
FpM_init 222553
FpM_intersect 30441
FpM_inv 17079
FpM_inv_upper_1 5
FpM_inv_upper_1_ind 10
FpM_invimage 0
FpM_invimage_i 5
FpM_ker 94077
FpM_ker_gen 4293
FpM_ker_i 129369
FpM_rank 1770
FpM_suppl 13263
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 1670
RgM_Fp_init 1470
RgM_Hadamard 30757
RgM_RgC_invimage 2515
RgM_det2 56117
RgM_inv_upper 15472
RgM_inv_upper_ind 68987
RgM_invimage 25
RgM_pivots 3670
RgM_solve 208618
RgM_solve_realimag 158032
RgMs_structelim 30
RgV_deplin 20
ZM_count_0_cols 31189
ZM_det 50028
ZM_det2 11433
ZM_det3 7344
ZM_det_i 50109
ZM_detmult 179165
ZM_gauss 1262
ZM_imagecompl 0
ZM_imagecomplspec 11368
ZM_indeximage 0
ZM_inv 64022
ZM_pivots 31549
ZM_rank 19065
_Fl_add 393
_Fl_add_OK 25453954
_Fl_addmul 789706
_Fl_addmul_OK 160339494
_Fl_sub 18033
_Fl_submul 180612
_copy 19108
_gen_addmul 3780928
_gen_get_col 8398
_submul 1710584
approx_0 398330
closemodinvertible 3740
coeff_det 240
col_count_non_zero 500
deplin 140
deplin_aux 70
det 56525
det0 1120
det2 1719
det_bareiss 90
det_develop 270
det_init_max 30
det_simple_gauss 897
detint 20
eigen 5
fill_wcol 1540
gauss 135
gauss_get_pivot_NZ 211378
gauss_get_pivot_max 398330
gauss_get_pivot_padic 185
gauss_pivot 210
gauss_pivot_ker 6908
gaussmodulo 5
gaussmodulo2 5
gaussmoduloall 45
gen_Gauss 5073
gen_Gauss_pivot 1558
gen_det 1574
gen_gerepile_gauss_ker 10
gen_ker 4588
gen_matcolmul 15
gen_matcolmul_i 60
gen_matmul 15
gerepile_gauss 664
gerepile_gauss_ker 4
gerepile_mat 10
get_col 319626
get_pivot_fun 161188
get_suppl 13323
image 90
image2 5
image_from_pivot 28355
imagecompl 60
imagecompl_aux 60
imagecomplspec 0
imagecomplspec_aux 11368
indeximage0 0
indexrank 60
indexrank0 1710
indexrank_all 1202
init_gauss 154755
init_indexrank 508
init_suppl 13323
inverseimage 2540
is_modular_solve 208618
ker 6823
ker_aux 6908
keri 230
mateigen 50
matimage0 85
matker0 95
matsolvemod0 45
mydiv 910
parallelogramarea 89060
perm_complete 2404
rank 110
reducemodinvertible 10
reducemodlll 0
rem_col 37265
rem_singleton 1570
row_count_non_zero 460
split_realimag 323869
split_realimag_col 621691
suppl 40

Generated by: LCOV version 1.9