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 18886-5652b70) Lines: 727 807 90.1 %
Date: 2016-04-29 Functions: 103 110 93.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 477 580 82.2 %

Function Name Sort by function name Hit count Sort by hit count
Flc_lincomb1_inplace 7185267
RgM_check_ZM 12089
RgV_check_ZV 456588
ZC_ZV_mul 0
ZC_Z_add 86191
ZC_Z_divexact 1485628
ZC_Z_mul 2406834
ZC_Z_sub 0
ZC_add 1102539
ZC_add_i 1923944
ZC_copy 924184
ZC_hnfremdiv 884806
ZC_is_ei 37548
ZC_lincomb 7566511
ZC_lincomb1 2383484
ZC_lincomb1_inplace 37630106
ZC_lincomb_1 368608
ZC_neg 1811140
ZC_reducemodlll 185349
ZC_reducemodmatrix 186882
ZC_reducemodmatrix_i 186882
ZC_sub 1086554
ZC_sub_i 1189755
ZC_z_mul 13202
ZMV_to_zmV 21
ZM_ZC_mul 4209715
ZM_ZC_mul_i 16817591
ZM_Z_div 1904
ZM_Z_divexact 79760
ZM_Z_mul 63621
ZM_add 40325
ZM_copy 81178
ZM_det_triangular 732108
ZM_diag_mul 847
ZM_equal 425431
ZM_hnfdivrem 56650
ZM_ishnf 78520
ZM_isidentity 211934
ZM_isscalar 13237
ZM_max_lg 1617
ZM_mul 3370221
ZM_mul_classical 3468081
ZM_mul_diag 14
ZM_mul_i 3446528
ZM_mul_sw 11277
ZM_multosym 0
ZM_nc_mul_i 33587
ZM_neg 183211
ZM_nm_mul 3208
ZM_pow 0
ZM_powu 31066
ZM_reducemodlll 0
ZM_reducemodmatrix 5404
ZM_reducemodmatrix_i 5404
ZM_sqr 32830
ZM_sqr_i 32830
ZM_sub 19723
ZM_supnorm 1113
ZM_to_zm 777
ZM_togglesign 0
ZM_transmul 497
ZM_transmultosym 160104
ZM_zc_mul 1302841
ZM_zc_mul_i 2273411
ZM_zm_mul 469205
ZMrow_ZC_mul 14942920
ZMrow_ZC_mul_i 132302740
ZRED 543897
ZV_ZM_mul 6188
ZV_abscmp 3480
ZV_cmp 494621
ZV_content 9240
ZV_dotproduct 10093331
ZV_dotproduct_i 11985190
ZV_dotsquare 4227480
ZV_equal 7763172
ZV_equal0 442439
ZV_equal_lg 9105330
ZV_max_lg 10612
ZV_neg_inplace 58435
ZV_prod 35663
ZV_sum 56
ZV_to_nv 5992
ZV_togglesign 1680991
ZV_zc_mul 0
ZincrementalGS 727104
Zupdate_row 174468
_ZM_mul 217
_ZM_sqr 32522
_mulii 905015
add_slices 90216
check_ZV 36568
nm_Z_mul 3208
subtract_slices 78939
zmV_to_ZMV 98
zm_to_Flm 15792
zm_to_ZM 278287
zvV_equal 343
zv_ZM_mul 1204
zv_content 714018
zv_dotproduct 151007458
zv_equal 4671271
zv_equal0 17346924
zv_neg 213704
zv_neg_inplace 264
zv_prod 351820
zv_prod_Z 365184
zv_sum 219233
zv_to_Flv 223314
zv_z_mul 4360

Generated by: LCOV version 1.9