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.8.0 lcov report (development 19070-36a960b) Lines: 727 807 90.1 %
Date: 2016-06-30 Functions: 103 110 93.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 478 580 82.4 %

Function Name Sort by function name Hit count Sort by hit count
Flc_lincomb1_inplace 7185463
RgM_check_ZM 12131
RgV_check_ZV 456903
ZC_ZV_mul 0
ZC_Z_add 86219
ZC_Z_divexact 1483575
ZC_Z_mul 2419084
ZC_Z_sub 0
ZC_add 1103750
ZC_add_i 1924341
ZC_copy 923120
ZC_hnfremdiv 884806
ZC_is_ei 37548
ZC_lincomb 7571727
ZC_lincomb1 2384128
ZC_lincomb1_inplace 37650137
ZC_lincomb_1 368690
ZC_neg 1930224
ZC_reducemodlll 185566
ZC_reducemodmatrix 187099
ZC_reducemodmatrix_i 187099
ZC_sub 1086624
ZC_sub_i 1189011
ZC_z_mul 13202
ZMV_to_zmV 21
ZM_ZC_mul 4287436
ZM_ZC_mul_i 18330855
ZM_Z_div 1904
ZM_Z_divexact 79808
ZM_Z_mul 62762
ZM_add 40401
ZM_copy 80646
ZM_det_triangular 732150
ZM_diag_mul 1036
ZM_equal 426397
ZM_hnfdivrem 56678
ZM_ishnf 77799
ZM_isidentity 253248
ZM_isscalar 14756
ZM_max_lg 1617
ZM_mul 4154410
ZM_mul_classical 4248847
ZM_mul_diag 14
ZM_mul_i 4226559
ZM_mul_sw 10696
ZM_multosym 0
ZM_nc_mul_i 32773
ZM_neg 228102
ZM_nm_mul 3256
ZM_pow 0
ZM_powu 31066
ZM_reducemodlll 0
ZM_reducemodmatrix 5404
ZM_reducemodmatrix_i 5404
ZM_sqr 32984
ZM_sqr_i 32984
ZM_sub 19771
ZM_supnorm 1274
ZM_to_zm 777
ZM_togglesign 0
ZM_transmul 497
ZM_transmultosym 160104
ZM_zc_mul 1302932
ZM_zc_mul_i 2507680
ZM_zm_mul 586294
ZMrow_ZC_mul 14943641
ZMrow_ZC_mul_i 130741238
ZRED 544548
ZV_ZM_mul 6188
ZV_abscmp 3480
ZV_cmp 499227
ZV_content 9240
ZV_dotproduct 10093191
ZV_dotproduct_i 11984147
ZV_dotsquare 4228537
ZV_equal 7763173
ZV_equal0 449656
ZV_equal_lg 9108166
ZV_max_lg 10612
ZV_neg_inplace 58540
ZV_prod 35894
ZV_sum 56
ZV_to_nv 6223
ZV_togglesign 1681253
ZV_zc_mul 0
ZincrementalGS 727972
Zupdate_row 175168
_ZM_mul 217
_ZM_sqr 32522
_mulii 905015
add_slices 85568
check_ZV 36610
nm_Z_mul 3256
subtract_slices 74872
zmV_to_ZMV 98
zm_to_Flm 15792
zm_to_ZM 364352
zvV_equal 343
zv_ZM_mul 1204
zv_content 714144
zv_dotproduct 151007458
zv_equal 21843638
zv_equal0 17346924
zv_neg 213708
zv_neg_inplace 266
zv_prod 351856
zv_prod_Z 365184
zv_sum 219233
zv_to_Flv 223314
zv_z_mul 4361

Generated by: LCOV version 1.9