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 16624-25b9976) Lines: 2195 2336 94.0 %
Date: 2014-06-24 Functions: 205 216 94.9 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1432 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 14835
F2m_gauss_sp 6656
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 79601
F2m_rank 40
F2m_suppl 5
F2v_find_nonzero 739275
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 6846
Fl_get_col_OK 1463429
Flm_Flc_gauss 10
Flm_Flc_invimage 22281
Flm_deplin 2125
Flm_det 166131
Flm_det_sp 166131
Flm_det_sp_OK 166121
Flm_gauss 20
Flm_gauss_pivot 59224
Flm_gauss_sp 180224
Flm_image 25
Flm_indexrank 3094
Flm_inv 7151
Flm_inv_sp 170977
Flm_inv_upper_1 10
Flm_inv_upper_1_ind 20
Flm_invimage 0
Flm_invimage_i 10
Flm_ker 24746
Flm_ker_sp 252224
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 20550
FpM_deplin 31252
FpM_det 35
FpM_det_gen 35
FpM_gauss 10
FpM_gauss_gen 4573
FpM_gauss_i 20426
FpM_gauss_pivot 39482
FpM_gauss_pivot_gen 1433
FpM_image 24530
FpM_indexrank 15
FpM_init 183466
FpM_intersect 30261
FpM_inv 16765
FpM_inv_upper_1 5
FpM_inv_upper_1_ind 10
FpM_invimage 0
FpM_invimage_i 5
FpM_ker 88435
FpM_ker_gen 4292
FpM_ker_i 123563
FpM_rank 1770
FpM_suppl 13162
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 1765
RgM_Fp_init 1470
RgM_Hadamard 11840
RgM_RgC_invimage 2515
RgM_det2 55902
RgM_inv_upper 4515
RgM_inv_upper_ind 11351
RgM_invimage 25
RgM_pivots 3877
RgM_solve 208725
RgM_solve_realimag 158106
RgMs_structelim 30
RgV_deplin 20
ZM_count_0_cols 31091
ZM_det 19761
ZM_det2 5346
ZM_det3 2071
ZM_det_i 19837
ZM_detmult 179023
ZM_gauss 1281
ZM_imagecompl 0
ZM_imagecomplspec 11565
ZM_indeximage 15
ZM_indexrank 70
ZM_inv 64135
ZM_pivots 31494
ZM_rank 18728
_Fl_add 340
_Fl_add_OK 25274352
_Fl_addmul 789667
_Fl_addmul_OK 156651491
_Fl_sub 20542
_Fl_submul 211161
_copy 535022
_gen_addmul 3775603
_gen_get_col 7568
_submul 1765234
approx_0 398310
closemodinvertible 3740
coeff_det 240
col_count_non_zero 500
deplin 140
deplin_aux 70
det 56266
det0 1130
det2 1831
det_bareiss 90
det_develop 270
det_init_max 30
det_simple_gauss 973
detint 20
eigen 5
fill_wcol 1540
gauss 135
gauss_get_pivot_NZ 185079
gauss_get_pivot_max 398310
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 4587
gen_matcolmul 15
gen_matcolmul_i 60
gen_matmul 15
gerepile_gauss 664
gerepile_gauss_ker 21
gerepile_mat 27
get_col 321754
get_pivot_fun 160267
get_suppl 13222
image 90
image2 5
image_from_pivot 24625
imagecompl 60
imagecompl_aux 60
imagecomplspec 0
imagecomplspec_aux 11565
indeximage0 15
indexrank 60
indexrank0 4460
indexrank_all 1221
init_gauss 155150
init_indexrank 3254
init_suppl 13222
inverseimage 2540
is_modular_solve 208725
ker 5515
ker_aux 5600
keri 358
mateigen 50
matimage0 85
matker0 95
matsolvemod0 45
mydiv 910
parallelogramarea 36259
perm_complete 2442
rank 110
reducemodinvertible 10
reducemodlll 0
rem_col 37265
rem_singleton 1570
row_count_non_zero 460
split_realimag 324017
split_realimag_col 621592
suppl 40

Generated by: LCOV version 1.9