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 20459-9710128) Lines: 761 837 90.9 %
Date: 2017-04-28 05:33:48 Functions: 108 114 94.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Flc_lincomb1_inplace 7531104
RgM_check_ZM 124680
RgV_check_ZV 407838
ZC_ZV_mul 0
ZC_Z_add 52974
ZC_Z_div 138900
ZC_Z_divexact 1959102
ZC_Z_mul 7546140
ZC_Z_sub 0
ZC_add 4907490
ZC_add_i 14797758
ZC_copy 3764702
ZC_hnfremdiv 671436
ZC_is_ei 66894
ZC_lincomb 6022341
ZC_lincomb1 1580640
ZC_lincomb1_inplace 27624663
ZC_lincomb_1 190136
ZC_neg 1708500
ZC_reducemodlll 5598
ZC_reducemodmatrix 13140
ZC_reducemodmatrix_i 13140
ZC_sub 903935
ZC_sub_i 1414031
ZC_z_mul 11724
ZMV_to_zmV 18
ZM_ZC_mul 3989526
ZM_ZC_mul_i 16872944
ZM_Z_div 8298
ZM_Z_divexact 552204
ZM_Z_mul 510438
ZM_add 827616
ZM_copy 157609
ZM_det_triangular 633797
ZM_diag_mul 31177
ZM_equal 314934
ZM_hnfdivrem 23429
ZM_isdiagonal 46386
ZM_ishnf 60852
ZM_isidentity 233202
ZM_isscalar 13296
ZM_max_lg 1368
ZM_mul 3771121
ZM_mul_classical 3789421
ZM_mul_diag 12
ZM_mul_i 3798175
ZM_mul_sw 9642
ZM_multosym 0
ZM_nc_mul_i 447900
ZM_neg 227670
ZM_nm_mul 426240
ZM_pow 0
ZM_powu 360
ZM_reducemodlll 0
ZM_reducemodmatrix 3768
ZM_reducemodmatrix_i 3768
ZM_sqr 888
ZM_sqr_i 888
ZM_sub 441475
ZM_supnorm 1890
ZM_to_zm 744
ZM_togglesign 0
ZM_transmul 426
ZM_transmultosym 137370
ZM_zc_mul 1244880
ZM_zc_mul_i 2282880
ZM_zm_mul 504085
ZMrow_ZC_mul 20247126
ZMrow_ZC_mul_i 126711850
ZRED 49476
ZV_ZM_mul 5436
ZV_abscmp 2982
ZV_cmp 497829
ZV_content 8496
ZV_dotproduct 6964794
ZV_dotproduct_i 9304632
ZV_dotsquare 2764308
ZV_equal 6669141
ZV_equal0 412150
ZV_equal_lg 7668501
ZV_max_lg 9096
ZV_neg_inplace 47208
ZV_prod 6326086
ZV_sum 48
ZV_to_nv 5574
ZV_togglesign 1507983
ZV_zc_mul 1410
Z_ZC_sub 114054
ZincrementalGS 58890
Zupdate_row 25884
_ZM_mul 48
_ZM_sqr 480
_mulii 233830144
add_slices 77136
check_ZV 352098
nm_Z_mul 426240
subtract_slices 67494
vecsmall_prod 12595194
zmV_to_ZMV 84
zm_to_Flm 13536
zm_to_ZM 316093
zvV_equal 330
zv_ZM_mul 1110
zv_content 830244
zv_dotproduct 129434964
zv_equal 19433497
zv_equal0 14871978
zv_neg 19982
zv_neg_inplace 211
zv_prod 251244
zv_prod_Z 312790
zv_sum 1356
zv_to_Flv 191412
zv_z_mul 7036

Generated by: LCOV version 1.11