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 17411-5d2797e) Lines: 2203 2337 94.3 %
Date: 2015-01-31 Functions: 201 216 93.1 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1449 1787 81.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 17041
F2m_gauss_sp 7668
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 915
F2m_ker_sp 82211
F2m_rank 45
F2m_suppl 5
F2v_find_nonzero 765395
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 10780
Fl_get_col_OK 1675433
Flm_Flc_gauss 10
Flm_Flc_invimage 23480
Flm_deplin 2320
Flm_det 166882
Flm_det_sp 166887
Flm_det_sp_OK 166877
Flm_gauss 20
Flm_gauss_pivot 72158
Flm_gauss_sp 202247
Flm_image 20
Flm_indexrank 4515
Flm_inv 8912
Flm_inv_sp 191513
Flm_inv_upper_1 10
Flm_inv_upper_1_ind 20
Flm_invimage 0
Flm_invimage_i 10
Flm_ker 27665
Flm_ker_sp 238992
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 155
FlxqM_image 5
FlxqM_inv 5
FlxqM_ker 234
FlxqM_ker_i 234
FlxqM_mul 5
FlxqM_rank 65
FpM_FpC_gauss 20
FpM_FpC_invimage 21755
FpM_deplin 32890
FpM_det 40
FpM_det_gen 35
FpM_gauss 10
FpM_gauss_gen 2081
FpM_gauss_i 20433
FpM_gauss_pivot 48315
FpM_gauss_pivot_gen 1611
FpM_image 30840
FpM_indexrank 15
FpM_init 197555
FpM_intersect 32535
FpM_inv 20403
FpM_inv_upper_1 5
FpM_inv_upper_1_ind 10
FpM_invimage 0
FpM_invimage_i 5
FpM_ker 96102
FpM_ker_gen 1377
FpM_ker_i 129517
FpM_rank 1945
FpM_suppl 15510
FqM_FqC_gauss 10
FqM_FqC_mul 5
FqM_deplin 0
FqM_det 5
FqM_gauss 5
FqM_gauss_gen 5
FqM_gauss_pivot 130
FqM_gauss_pivot_gen 45
FqM_image 5
FqM_inv 5
FqM_ker 726
FqM_ker_gen 6
FqM_ker_i 726
FqM_mul 25
FqM_rank 40
FqM_suppl 325
QM_inv 2955
RgM_Fp_init 1470
RgM_Hadamard 12095
RgM_RgC_invimage 3430
RgM_det2 62740
RgM_inv_upper 5056
RgM_inv_upper_ind 12934
RgM_invimage 25
RgM_pivots 4053
RgM_solve 176565
RgM_solve_realimag 123016
RgMs_structelim 35
RgV_deplin 0
ZM_count_0_cols 36693
ZM_det 20370
ZM_det2 5480
ZM_det3 2165
ZM_det_i 20405
ZM_detmult 146184
ZM_gauss 1412
ZM_imagecompl 0
ZM_imagecomplspec 11976
ZM_indeximage 55
ZM_indexrank 445
ZM_inv 68342
ZM_pivots 37353
ZM_rank 23543
_Fl_add 4348
_Fl_add_OK 30168959
_Fl_addmul 592138
_Fl_addmul_OK 202688987
_Fl_sub 199552
_Fl_submul 190465
_copy 2158581
_gen_addmul 69826
_gen_get_col 5752
_submul 1598827
approx_0 284638
closemodinvertible 4325
coeff_det 315
col_count_non_zero 685
deplin 115
deplin_aux 70
det 63299
det0 1150
det2 1924
det_bareiss 165
det_develop 395
det_init_max 80
det_simple_gauss 1084
detint 10
eigen 0
fill_wcol 2125
gauss 125
gauss_get_pivot_NZ 197696
gauss_get_pivot_max 284733
gauss_get_pivot_padic 205
gauss_pivot 365
gauss_pivot_ker 6715
gaussmodulo 0
gaussmodulo2 0
gaussmoduloall 35
gen_Gauss 2096
gen_Gauss_pivot 1821
gen_det 50
gen_gerepile_gauss_ker 58
gen_ker 1622
gen_matcolmul 15
gen_matcolmul_i 140
gen_matmul 35
gerepile_gauss 697
gerepile_gauss_ker 52
gerepile_mat 58
get_col 291280
get_pivot_fun 122814
get_suppl 15640
image 245
image2 5
image_from_pivot 31085
imagecompl 60
imagecompl_aux 60
imagecomplspec 0
imagecomplspec_aux 11976
indeximage0 55
indexrank 55
indexrank0 6352
indexrank_all 1322
init_gauss 116497
init_indexrank 5085
init_suppl 15640
inverseimage 3455
is_modular_solve 176565
ker 6645
ker_aux 6715
keri 576
mateigen 45
matimage0 85
matker0 95
matsolvemod0 35
mydiv 1415
parallelogramarea 38195
perm_complete 2644
rank 110
reducemodinvertible 5
reducemodlll 0
rem_col 47790
rem_singleton 2160
row_count_non_zero 580
split_realimag 254117
split_realimag_col 480351
suppl 50

Generated by: LCOV version 1.9