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 21196-f12677d) Lines: 772 847 91.1 %
Date: 2017-10-22 06:23:24 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 8554712
RgM_check_ZM 308597
RgV_check_ZV 505737
ZC_ZV_mul 0
ZC_Z_add 103451
ZC_Z_div 121842
ZC_Z_divexact 2454100
ZC_Z_mul 10519458
ZC_Z_sub 0
ZC_add 6896349
ZC_add_i 12894611
ZC_copy 3771014
ZC_hnfremdiv 852973
ZC_is_ei 59213
ZC_lincomb 9072393
ZC_lincomb1 2105227
ZC_lincomb1_inplace 38835294
ZC_lincomb_1 383612
ZC_neg 1767831
ZC_reducemodlll 9907
ZC_reducemodmatrix 62505
ZC_reducemodmatrix_i 62505
ZC_sub 1198617
ZC_sub_i 1932217
ZC_z_mul 13769
ZMV_to_zmV 21
ZM_ZC_mul 5454130
ZM_ZC_mul_i 20109520
ZM_Z_div 12194
ZM_Z_divexact 842695
ZM_Z_mul 689108
ZM_add 1097150
ZM_copy 209017
ZM_det_triangular 987231
ZM_diag_mul 89211
ZM_equal 403391
ZM_hnfdivrem 52002
ZM_isdiagonal 60142
ZM_ishnf 114583
ZM_isidentity 181706
ZM_isscalar 9173
ZM_max_lg 3201
ZM_max_lg_i 9314123
ZM_mul 4636330
ZM_mul_classical 4646018
ZM_mul_diag 14
ZM_mul_i 4653907
ZM_mul_sw 10997
ZM_multosym 0
ZM_nc_mul_i 663666
ZM_neg 257362
ZM_nm_mul 634495
ZM_pow 0
ZM_powu 2170
ZM_reducemodlll 0
ZM_reducemodmatrix 21259
ZM_reducemodmatrix_i 21259
ZM_sqr 3108
ZM_sqr_i 3108
ZM_sub 651925
ZM_supnorm 2961
ZM_to_zm 868
ZM_togglesign 0
ZM_transmul 497
ZM_transmultosym 160286
ZM_zc_mul 1603558
ZM_zc_mul_i 2811202
ZM_zm_mul 587741
ZMrow_ZC_mul 25444051
ZMrow_ZC_mul_i 126660091
ZRED 245788
ZV_ZM_mul 67613
ZV_abscmp 3550
ZV_cmp 663728
ZV_content 67963
ZV_dotproduct 9328574
ZV_dotproduct_i 11759967
ZV_dotsquare 3794081
ZV_equal 7927370
ZV_equal0 553395
ZV_equal_lg 9170590
ZV_max_lg 10612
ZV_max_lg_i 31031886
ZV_neg_inplace 125621
ZV_prod 7468805
ZV_sum 56
ZV_to_nv 50456
ZV_togglesign 1394834
ZV_zc_mul 1645
Z_ZC_sub 94824
ZincrementalGS 311863
Zupdate_row 52188
_ZM_mul 280
_ZM_sqr 2604
_mulii 272805272
add_slices 87976
check_ZV 1198395
nm_Z_mul 634495
subtract_slices 76979
vecsmall_prod 14694393
zmV_to_ZMV 98
zm_to_Flm 15792
zm_to_ZM 368417
zvV_equal 385
zv_ZM_mul 1309
zv_content 1015760
zv_dotproduct 151102651
zv_equal 20821230
zv_equal0 17351061
zv_neg 23346
zv_neg_inplace 257
zv_prod 340851
zv_prod_Z 365685
zv_sum 1596
zv_to_Flv 223314
zv_z_mul 8296

Generated by: LCOV version 1.11