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 to exceed 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.12.0 lcov report (development 23353-42c433a02) Lines: 765 839 91.2 %
Date: 2018-12-15 05:41:59 Functions: 116 122 95.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
ZC_ZV_mul 0
ZC_Z_sub 0
ZM_multosym 0
ZM_pow 0
ZM_reducemodlll 0
ZM_togglesign 0
ZM_mul_diag 14
ZMV_to_zmV 35
ZV_sum 56
ZM_equal0 77
QM_QC_mul 91
zmV_to_ZMV 112
zv_neg_inplace 231
_ZM_mul 273
ZM_transmul 497
ZM_to_zm 1120
zv_ZM_mul 1204
zvV_equal 1337
zv_sum 1596
ZV_zc_mul 2065
ZM_powu 2450
_ZM_sqr 2891
ZM_supnorm 3318
ZV_abscmp 3459
ZM_max_lg 3846
ZM_sqr 3906
ZM_sqr_i 3906
ZV_max_lg 10612
ZC_reducemodlll 12427
ZM_Z_div 14707
ZC_z_mul 15658
zv_z_mul 16591
zm_to_Flm 19894
ZM_mul_sw 21902
ZC_reducemodmatrix 22493
ZC_reducemodmatrix_i 22493
zm_to_ZM 29854
zv_neg 31544
ZM_reducemodmatrix 36477
ZM_reducemodmatrix_i 36477
ZM_hnfdivrem 71050
ZV_to_nv 75502
Zupdate_row 75810
ZM_isdiagonal 81765
ZV_neg_inplace 86547
ZM_isscalar 105630
ZC_is_ei 105701
Z_ZC_sub 107818
ZM_isidentity 121282
ZC_Z_add 129778
ZM_diag_mul 132264
subtract_slices 153314
ZM_ishnf 161380
ZM_transmultosym 161595
ZV_ZM_mul 163107
ZRED 173611
add_slices 175216
ZV_content 194173
ZincrementalGS 202705
QM_mul 248068
ZC_lincomb_1 250275
ZM_neg 278124
ZM_copy 281153
zv_to_Flv 284480
ZM_Q_mul 334182
zv_prod_Z 365085
zv_prod 380136
RgM_check_ZM 395780
ZM_equal 497537
RgV_check_ZV 509119
ZM_nm_mul 671839
nm_Z_mul 671839
ZM_zm_mul 678509
ZM_nc_mul_i 688911
ZM_sub 692439
ZV_cmp 730327
ZM_Z_divexact 868656
ZC_hnfremdiv 920571
ZV_equal0 954882
ZM_Z_mul 1054741
ZC_Z_div 1139760
ZC_Q_mul 1230623
ZM_add 1277158
ZC_sub 1329317
check_ZV 1363523
ZV_togglesign 1424670
ZM_det_triangular 1682020
ZC_neg 1837958
ZC_lincomb1 1934819
ZC_sub_i 2094015
ZC_Z_divexact 3168322
ZM_zc_mul 3309275
zv_content 3581538
ZM_zc_mul_i 4697947
ZC_copy 4809614
ZV_dotsquare 6115331
ZC_add 7469387
ZV_prod 7530444
ZM_mul 8453254
ZM_mul_classical 8524284
ZM_mul_i 8542280
ZM_ZC_mul 8620384
Flc_lincomb1_inplace 8903752
ZC_lincomb 9260773
ZV_dotproduct 11433380
ZV_dotproduct_i 13231321
ZC_Z_mul 14127373
ZV_equal 14612744
vecsmall_prod 14694393
ZV_equal_lg 15956010
ZC_add_i 16365048
ZM_max_lg_i 17092312
zv_equal0 21181440
zv_equal 21688559
ZMrow_ZC_mul 27175199
ZM_ZC_mul_i 33526056
ZC_lincomb1_inplace 41639972
ZC_lincomb1_inplace_i 47270261
ZV_max_lg_i 52999927
zv_dotproduct 182225757
ZMrow_ZC_mul_i 187772286
_mulii 278300020

Generated by: LCOV version 1.13