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 - ZV.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 21741-70cf009) Lines: 756 830 91.1 %
Date: 2018-01-21 06:18:30 Functions: 114 120 95.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Flc_lincomb1_inplace 8549483
QM_mul 246347
RgM_check_ZM 317711
RgV_check_ZV 504456
ZC_Q_mul 1181294
ZC_ZV_mul 0
ZC_Z_add 103017
ZC_Z_div 1101968
ZC_Z_divexact 2225946
ZC_Z_mul 10486127
ZC_Z_sub 0
ZC_add 6886076
ZC_add_i 12967405
ZC_copy 3763560
ZC_hnfremdiv 851990
ZC_is_ei 59269
ZC_lincomb 9042596
ZC_lincomb1 2102499
ZC_lincomb1_inplace 38775284
ZC_lincomb_1 382243
ZC_neg 1868555
ZC_reducemodlll 9907
ZC_reducemodmatrix 62512
ZC_reducemodmatrix_i 62512
ZC_sub 1194561
ZC_sub_i 2010755
ZC_z_mul 15064
ZMV_to_zmV 21
ZM_Q_mul 299043
ZM_ZC_mul 5504074
ZM_ZC_mul_i 22419852
ZM_Z_div 12194
ZM_Z_divexact 846978
ZM_Z_mul 746501
ZM_add 1156242
ZM_copy 211834
ZM_det_triangular 978571
ZM_diag_mul 86153
ZM_equal 399212
ZM_equal0 56
ZM_hnfdivrem 51574
ZM_isdiagonal 60254
ZM_ishnf 114730
ZM_isidentity 108109
ZM_isscalar 100384
ZM_max_lg 3222
ZM_max_lg_i 10201069
ZM_mul 5072432
ZM_mul_classical 5088672
ZM_mul_diag 14
ZM_mul_i 5097128
ZM_mul_sw 12047
ZM_multosym 0
ZM_nc_mul_i 745882
ZM_neg 273469
ZM_nm_mul 693909
ZM_pow 0
ZM_powu 2170
ZM_reducemodlll 0
ZM_reducemodmatrix 21280
ZM_reducemodmatrix_i 21280
ZM_sqr 3591
ZM_sqr_i 3591
ZM_sub 711475
ZM_supnorm 3080
ZM_to_zm 868
ZM_togglesign 0
ZM_transmul 497
ZM_transmultosym 160293
ZM_zc_mul 1598618
ZM_zc_mul_i 2981262
ZM_zm_mul 675188
ZMrow_ZC_mul 25447200
ZMrow_ZC_mul_i 145461449
ZRED 245816
ZV_ZM_mul 144858
ZV_abscmp 3557
ZV_cmp 660112
ZV_content 157129
ZV_dotproduct 9364840
ZV_dotproduct_i 12047146
ZV_dotsquare 3800000
ZV_equal 7962080
ZV_equal0 844280
ZV_equal_lg 9191853
ZV_max_lg 10612
ZV_max_lg_i 35908062
ZV_neg_inplace 126769
ZV_prod 7471457
ZV_sum 56
ZV_to_nv 47383
ZV_togglesign 1398559
ZV_zc_mul 1981
Z_ZC_sub 94663
ZincrementalGS 311919
Zupdate_row 52048
_ZM_mul 280
_ZM_sqr 2604
_mulii 272771977
add_slices 96376
check_ZV 1215335
nm_Z_mul 693909
subtract_slices 84329
vecsmall_prod 14694393
zmV_to_ZMV 98
zm_to_Flm 15792
zm_to_ZM 37068
zvV_equal 385
zv_ZM_mul 1309
zv_content 1015342
zv_dotproduct 151102651
zv_equal 20974855
zv_equal0 17351224
zv_neg 23490
zv_neg_inplace 268
zv_prod 363314
zv_prod_Z 364852
zv_sum 1596
zv_to_Flv 223314
zv_z_mul 10746

Generated by: LCOV version 1.11