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 19825-b77c7f8) Lines: 750 824 91.0 %
Date: 2016-12-04 05:49:01 Functions: 107 113 94.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Flc_lincomb1_inplace 8565215
RgM_check_ZM 122432
RgV_check_ZV 459712
ZC_ZV_mul 0
ZC_Z_add 102015
ZC_Z_div 28252
ZC_Z_divexact 2469242
ZC_Z_mul 2616014
ZC_Z_sub 0
ZC_add 1004080
ZC_add_i 2448358
ZC_copy 961578
ZC_hnfremdiv 778802
ZC_is_ei 37569
ZC_lincomb 9449185
ZC_lincomb1 2365081
ZC_lincomb1_inplace 38712430
ZC_lincomb_1 427921
ZC_neg 1352858
ZC_reducemodlll 153272
ZC_reducemodmatrix 155519
ZC_reducemodmatrix_i 155519
ZC_sub 1105948
ZC_sub_i 1829555
ZC_z_mul 13650
ZMV_to_zmV 21
ZM_ZC_mul 5082897
ZM_ZC_mul_i 20004107
ZM_Z_div 1904
ZM_Z_divexact 788077
ZM_Z_mul 53452
ZM_add 659503
ZM_copy 84869
ZM_det_triangular 747083
ZM_diag_mul 36233
ZM_equal 404117
ZM_hnfdivrem 27245
ZM_isdiagonal 54150
ZM_ishnf 64925
ZM_isidentity 254971
ZM_isscalar 15094
ZM_max_lg 1374
ZM_mul 4329491
ZM_mul_classical 4394332
ZM_mul_diag 14
ZM_mul_i 4404559
ZM_mul_sw 11249
ZM_multosym 0
ZM_nc_mul_i 650605
ZM_neg 228466
ZM_nm_mul 620691
ZM_pow 0
ZM_powu 420
ZM_reducemodlll 0
ZM_reducemodmatrix 4312
ZM_reducemodmatrix_i 4312
ZM_sqr 1022
ZM_sqr_i 1022
ZM_sub 638534
ZM_supnorm 1274
ZM_to_zm 777
ZM_togglesign 0
ZM_transmul 497
ZM_transmultosym 160265
ZM_zc_mul 1459380
ZM_zc_mul_i 2670820
ZM_zm_mul 588168
ZMrow_ZC_mul 23904522
ZMrow_ZC_mul_i 149155480
ZRED 388465
ZV_ZM_mul 6237
ZV_abscmp 3480
ZV_cmp 594961
ZV_content 9709
ZV_dotproduct 9739302
ZV_dotproduct_i 11780487
ZV_dotsquare 4085293
ZV_equal 7761812
ZV_equal0 480031
ZV_equal_lg 9051020
ZV_max_lg 10612
ZV_neg_inplace 54915
ZV_prod 35677
ZV_sum 56
ZV_to_nv 6510
ZV_togglesign 1829630
ZV_zc_mul 1645
Z_ZC_sub 144286
ZincrementalGS 539553
Zupdate_row 220119
_ZM_mul 56
_ZM_sqr 560
_mulii 888565
add_slices 89992
check_ZV 389134
nm_Z_mul 620691
subtract_slices 78743
zmV_to_ZMV 98
zm_to_Flm 15792
zm_to_ZM 368844
zvV_equal 343
zv_ZM_mul 1239
zv_content 978607
zv_dotproduct 151007458
zv_equal 22408252
zv_equal0 17347680
zv_neg 221481
zv_neg_inplace 248
zv_prod 291067
zv_prod_Z 365177
zv_sum 1582
zv_to_Flv 223314
zv_z_mul 8252

Generated by: LCOV version 1.11