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 20916-a74d914) Lines: 772 847 91.1 %
Date: 2017-08-18 06:23:59 Functions: 110 116 94.8 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Flc_lincomb1_inplace 8573037
RgM_check_ZM 289008
RgV_check_ZV 505716
ZC_ZV_mul 0
ZC_Z_add 103451
ZC_Z_div 501543
ZC_Z_divexact 2665751
ZC_Z_mul 10544202
ZC_Z_sub 0
ZC_add 6921419
ZC_add_i 22008934
ZC_copy 5908990
ZC_hnfremdiv 853050
ZC_is_ei 88494
ZC_lincomb 9385242
ZC_lincomb1 2125618
ZC_lincomb1_inplace 57758583
ZC_lincomb_1 407375
ZC_neg 2488535
ZC_reducemodlll 9907
ZC_reducemodmatrix 18776
ZC_reducemodmatrix_i 18776
ZC_sub 1237294
ZC_sub_i 1973907
ZC_z_mul 13741
ZMV_to_zmV 21
ZM_ZC_mul 5417352
ZM_ZC_mul_i 22804672
ZM_Z_div 51352
ZM_Z_divexact 797732
ZM_Z_mul 1232455
ZM_add 1513741
ZM_copy 327704
ZM_det_triangular 917801
ZM_diag_mul 89211
ZM_equal 408850
ZM_hnfdivrem 52002
ZM_isdiagonal 60142
ZM_ishnf 114576
ZM_isidentity 289908
ZM_isscalar 132358
ZM_max_lg 3194
ZM_max_lg_i 9809454
ZM_mul 4807377
ZM_mul_classical 4882733
ZM_mul_diag 14
ZM_mul_i 4901583
ZM_mul_sw 21944
ZM_multosym 0
ZM_nc_mul_i 666032
ZM_neg 291690
ZM_nm_mul 636483
ZM_pow 0
ZM_powu 2170
ZM_reducemodlll 0
ZM_reducemodmatrix 21259
ZM_reducemodmatrix_i 21259
ZM_sqr 3094
ZM_sqr_i 3094
ZM_sub 653980
ZM_supnorm 3283
ZM_to_zm 868
ZM_togglesign 0
ZM_transmul 497
ZM_transmultosym 160286
ZM_zc_mul 1611647
ZM_zc_mul_i 2819938
ZM_zm_mul 587808
ZMrow_ZC_mul 25377653
ZMrow_ZC_mul_i 170087461
ZRED 114629
ZV_ZM_mul 67697
ZV_abscmp 3550
ZV_cmp 667907
ZV_content 68005
ZV_dotproduct 9366933
ZV_dotproduct_i 12061958
ZV_dotsquare 3495284
ZV_equal 7927314
ZV_equal0 562437
ZV_equal_lg 9189488
ZV_max_lg 10612
ZV_max_lg_i 37206134
ZV_neg_inplace 322141
ZV_prod 7468588
ZV_sum 56
ZV_to_nv 50274
ZV_togglesign 1613329
ZV_zc_mul 1645
Z_ZC_sub 94880
ZincrementalGS 136975
Zupdate_row 52146
_ZM_mul 280
_ZM_sqr 2604
_mulii 272804201
add_slices 175552
check_ZV 2066364
nm_Z_mul 636483
subtract_slices 153608
vecsmall_prod 14694393
zmV_to_ZMV 98
zm_to_Flm 15792
zm_to_ZM 368484
zvV_equal 385
zv_ZM_mul 1309
zv_content 1022369
zv_dotproduct 151102651
zv_equal 20685603
zv_equal0 17350788
zv_neg 23336
zv_neg_inplace 256
zv_prod 340998
zv_prod_Z 365685
zv_sum 1596
zv_to_Flv 223314
zv_z_mul 8280

Generated by: LCOV version 1.11