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.1 lcov report (development 22726-9e20c6a88) Lines: 765 839 91.2 %
Date: 2018-06-23 05:36:28 Functions: 116 122 95.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Flc_lincomb1_inplace 8659065
QM_QC_mul 91
QM_mul 247927
RgM_check_ZM 355124
RgV_check_ZV 507005
ZC_Q_mul 1210090
ZC_ZV_mul 0
ZC_Z_add 103626
ZC_Z_div 1136995
ZC_Z_divexact 2998154
ZC_Z_mul 13581620
ZC_Z_sub 0
ZC_add 7135280
ZC_add_i 16069726
ZC_copy 4565522
ZC_hnfremdiv 856073
ZC_is_ei 105777
ZC_lincomb 8910211
ZC_lincomb1 1849050
ZC_lincomb1_inplace 40780036
ZC_lincomb1_inplace_i 46321304
ZC_lincomb_1 227722
ZC_neg 1780309
ZC_reducemodlll 9802
ZC_reducemodmatrix 19861
ZC_reducemodmatrix_i 19861
ZC_sub 1250529
ZC_sub_i 2011867
ZC_z_mul 15497
ZMV_to_zmV 35
ZM_Q_mul 309499
ZM_ZC_mul 8113112
ZM_ZC_mul_i 32658710
ZM_Z_div 14707
ZM_Z_divexact 856248
ZM_Z_mul 1041850
ZM_add 1274665
ZM_copy 266286
ZM_det_triangular 1591238
ZM_diag_mul 88318
ZM_equal 491785
ZM_equal0 77
ZM_hnfdivrem 51723
ZM_isdiagonal 60408
ZM_ishnf 116069
ZM_isidentity 121016
ZM_isscalar 105026
ZM_max_lg 3797
ZM_max_lg_i 16752646
ZM_mul 8283589
ZM_mul_classical 8354938
ZM_mul_diag 14
ZM_mul_i 8372615
ZM_mul_sw 21296
ZM_multosym 0
ZM_nc_mul_i 687998
ZM_neg 278124
ZM_nm_mul 671348
ZM_pow 0
ZM_powu 2191
ZM_reducemodlll 0
ZM_reducemodmatrix 21336
ZM_reducemodmatrix_i 21336
ZM_sqr 3619
ZM_sqr_i 3619
ZM_sub 690829
ZM_supnorm 3304
ZM_to_zm 1120
ZM_togglesign 0
ZM_transmul 497
ZM_transmultosym 161595
ZM_zc_mul 3275759
ZM_zc_mul_i 4662138
ZM_zm_mul 677404
ZMrow_ZC_mul 26940957
ZMrow_ZC_mul_i 185344987
ZRED 118577
ZV_ZM_mul 145621
ZV_abscmp 3326
ZV_cmp 681901
ZV_content 157388
ZV_dotproduct 11149963
ZV_dotproduct_i 13020505
ZV_dotsquare 5949297
ZV_equal 7964921
ZV_equal0 923547
ZV_equal_lg 9293593
ZV_max_lg 10612
ZV_max_lg_i 52227861
ZV_neg_inplace 70347
ZV_prod 7482486
ZV_sum 56
ZV_to_nv 52787
ZV_togglesign 1375925
ZV_zc_mul 2065
Z_ZC_sub 95139
ZincrementalGS 142071
Zupdate_row 52842
_ZM_mul 273
_ZM_sqr 2632
_mulii 279060417
add_slices 170368
check_ZV 1307761
nm_Z_mul 671348
subtract_slices 149072
vecsmall_prod 14694393
zmV_to_ZMV 112
zm_to_Flm 19894
zm_to_ZM 40509
zvV_equal 1337
zv_ZM_mul 1204
zv_content 3556758
zv_dotproduct 182130564
zv_equal 21642778
zv_equal0 21181491
zv_neg 31494
zv_neg_inplace 225
zv_prod 364764
zv_prod_Z 365064
zv_sum 1596
zv_to_Flv 284480
zv_z_mul 16265

Generated by: LCOV version 1.13