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-bordeaux.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 19628-9774e23) Lines: 2230 2404 92.8 %
Date: 2016-10-01 05:54:29 Functions: 199 217 91.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2_get_col 69822
F2m_F2c_gauss 14
F2m_F2c_invimage 21
F2m_deplin 0
F2m_det 14
F2m_det_sp 28
F2m_gauss 28
F2m_gauss_pivot 26710
F2m_gauss_sp 13419
F2m_image 7
F2m_indexrank 0
F2m_inv 35
F2m_inv_upper_1 7
F2m_inv_upper_1_ind 14
F2m_invimage 0
F2m_invimage_i 7
F2m_ker 1449
F2m_ker_sp 300483
F2m_rank 63
F2m_suppl 7
F2v_find_nonzero 2062061
F2xqM_F2xqC_mul 14
F2xqM_det 7
F2xqM_gauss_gen 14
F2xqM_gauss_pivot 14
F2xqM_image 7
F2xqM_inv 14
F2xqM_ker 21
F2xqM_ker_i 21
F2xqM_mul 7
F2xqM_rank 7
Fl_get_col 2932277
Fl_get_col_OK 418102
Flm_Flc_gauss 21
Flm_Flc_invimage 48735
Flm_deplin 3206
Flm_det 69756
Flm_det_sp 69763
Flm_det_sp_OK 1407
Flm_gauss 42
Flm_gauss_pivot 185511
Flm_gauss_sp 695550
Flm_gauss_sp_OK 41117
Flm_image 28
Flm_indexrank 10584
Flm_intersect 0
Flm_inv 453878
Flm_inv_sp 670879
Flm_inv_upper_1 14
Flm_inv_upper_1_ind 28
Flm_invimage 0
Flm_invimage_i 14
Flm_ker 60152
Flm_ker_sp 500152
Flm_ker_sp_OK 494318
Flm_rank 2188
Flm_suppl 14
FlxqM_FlxqC_gauss 0
FlxqM_FlxqC_mul 7
FlxqM_det 7
FlxqM_gauss 0
FlxqM_gauss_gen 14
FlxqM_gauss_pivot 265
FlxqM_image 7
FlxqM_inv 14
FlxqM_ker 881
FlxqM_ker_i 881
FlxqM_mul 142
FlxqM_rank 139
FpM_FpC_gauss 14
FpM_FpC_invimage 44157
FpM_deplin 69318
FpM_det 70
FpM_det_gen 49
FpM_gauss 14
FpM_gauss_gen 2807
FpM_gauss_i 40792
FpM_gauss_pivot 100108
FpM_gauss_pivot_gen 59
FpM_image 68604
FpM_indexrank 21
FpM_init 396787
FpM_intersect 79926
FpM_inv 40764
FpM_inv_upper_1 7
FpM_inv_upper_1_ind 14
FpM_invimage 0
FpM_invimage_i 7
FpM_ker 186898
FpM_ker_gen 1642
FpM_ker_i 257287
FpM_rank 7
FpM_suppl 31469
FqM_FqC_gauss 0
FqM_FqC_mul 7
FqM_deplin 0
FqM_det 7
FqM_gauss 0
FqM_gauss_gen 14
FqM_gauss_pivot 183
FqM_gauss_pivot_gen 64
FqM_image 7
FqM_inv 14
FqM_ker 1359
FqM_ker_gen 15
FqM_ker_i 1359
FqM_mul 320
FqM_rank 57
FqM_suppl 630
QM_inv 6160
RgM_Fp_init 2114
RgM_Hadamard 16646
RgM_RgC_invimage 1666
RgM_det2 2367
RgM_inv_upper 7015
RgM_inv_upper_ind 18022
RgM_invimage 35
RgM_pivots 8651
RgM_solve 324637
RgM_solve_realimag 214404
RgMs_structelim 0
RgMs_structelim_col 112
RgV_deplin 0
ZM_count_0_cols 97380
ZM_det 27678
ZM_det2 7441
ZM_det3 2898
ZM_det_i 27804
ZM_detmult 7728
ZM_gauss 437470
ZM_imagecompl 0
ZM_indeximage 819
ZM_indexrank 3605
ZM_inv 100237
ZM_inv_ratlift 6664
ZM_pivots 100584
ZM_rank 33669
_Fl_add 2464897
_Fl_add_OK 78705685
_Fl_addmul 125131022
_Fl_addmul_OK 246650080
_copy 506368
_gen_addmul 107371
_gen_get_col 13723
_submul 2704155
approx_0 545708
closemodinvertible 6579
coeff_det 203
col_count_non_zero 609
deplin 189
deplin_aux 126
det 10894
det0 1610
det2 3208
det_bareiss 196
det_develop 301
det_init_max 98
det_simple_gauss 9791
detint 42
eigen 0
fill_wcol 5320
gauss 231
gauss_get_pivot_NZ 309831
gauss_get_pivot_max 545946
gauss_get_pivot_padic 62678
gauss_pivot 546
gauss_pivot_ker 6433
gaussmodulo 0
gaussmodulo2 0
gaussmoduloall 49
gen_Gauss 4193
gen_Gauss_pivot 402
gen_det 84
gen_gerepile_gauss_ker 56
gen_ker 2559
gen_matcolmul 22330
gen_matcolmul_i 41266
gen_matmul 1587
gerepile_gauss 89
gerepile_gauss_ker 46
gerepile_mat 56
get_col 499452
get_pivot_fun 246610
get_suppl 31651
image 378
image2 7
image_from_pivot 68982
imagecompl 84
imagecompl_aux 84
indeximage0 819
indexrank 77
indexrank0 16468
indexrank_all 2181
init_gauss 668038
init_indexrank 15106
init_suppl 31651
inverseimage 1428
is_modular_solve 324637
ker 6349
ker_aux 6433
keri 2395
mateigen 63
matimage0 119
matker0 147
matsolvemod0 49
mydiv 672
parallelogramarea 51324
perm_complete 4362
rank 154
reducemodinvertible 7
reducemodlll 0
rem_col 90853
rem_singleton 5432
row_count_non_zero 560
split_realimag 440169
split_realimag_col 860389
suppl 70

Generated by: LCOV version 1.11