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-bordeaux1.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 18586-b372913) Lines: 727 807 90.1 %
Date: 2016-02-08 Functions: 103 110 93.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 474 580 81.7 %

Function Name Sort by function name Hit count Sort by hit count
Flc_lincomb1_inplace 7383503
RgM_check_ZM 11851
RgV_check_ZV 455265
ZC_ZV_mul 0
ZC_Z_add 86037
ZC_Z_divexact 1472029
ZC_Z_mul 2400737
ZC_Z_sub 0
ZC_add 1072383
ZC_add_i 1874862
ZC_copy 921860
ZC_hnfremdiv 883651
ZC_is_ei 37548
ZC_lincomb 7503457
ZC_lincomb1 2383021
ZC_lincomb1_inplace 37717413
ZC_lincomb_1 367398
ZC_neg 1672570
ZC_reducemodlll 185251
ZC_reducemodmatrix 186784
ZC_reducemodmatrix_i 186784
ZC_sub 1063721
ZC_sub_i 1147954
ZC_z_mul 13202
ZMV_to_zmV 21
ZM_ZC_mul 4117553
ZM_ZC_mul_i 15027229
ZM_Z_div 1904
ZM_Z_divexact 78110
ZM_Z_mul 63383
ZM_add 38633
ZM_copy 80590
ZM_det_triangular 727131
ZM_diag_mul 784
ZM_equal 424073
ZM_hnfdivrem 56160
ZM_ishnf 77939
ZM_isidentity 97813
ZM_isscalar 12936
ZM_max_lg 1799
ZM_mul 2511034
ZM_mul_classical 2610287
ZM_mul_diag 14
ZM_mul_i 2589133
ZM_mul_sw 11522
ZM_multosym 0
ZM_nc_mul_i 14661
ZM_neg 130347
ZM_nm_mul 1558
ZM_pow 0
ZM_powu 31066
ZM_reducemodlll 0
ZM_reducemodmatrix 5250
ZM_reducemodmatrix_i 5250
ZM_sqr 32676
ZM_sqr_i 32676
ZM_sub 18052
ZM_supnorm 1085
ZM_to_zm 770
ZM_togglesign 0
ZM_transmul 497
ZM_transmultosym 159544
ZM_zc_mul 1295330
ZM_zc_mul_i 1960448
ZM_zm_mul 316479
ZMrow_ZC_mul 14950998
ZMrow_ZC_mul_i 129865417
ZRED 543365
ZV_ZM_mul 6125
ZV_abscmp 3480
ZV_cmp 492066
ZV_content 8988
ZV_dotproduct 10086324
ZV_dotproduct_i 11937632
ZV_dotsquare 4215594
ZV_equal 7763126
ZV_equal0 439044
ZV_equal_lg 9102162
ZV_max_lg 10612
ZV_neg_inplace 57894
ZV_prod 35065
ZV_sum 56
ZV_to_nv 5873
ZV_togglesign 1680531
ZV_zc_mul 0
ZincrementalGS 726327
Zupdate_row 174384
_ZM_mul 217
_ZM_sqr 32522
_mulii 893176
add_slices 92176
check_ZV 36239
nm_Z_mul 1558
subtract_slices 80654
zmV_to_ZMV 84
zm_to_Flm 15106
zm_to_ZM 92556
zvV_equal 343
zv_ZM_mul 1064
zv_content 713451
zv_dotproduct 146054748
zv_equal 3018123
zv_equal0 16412844
zv_neg 210372
zv_neg_inplace 264
zv_prod 351037
zv_prod_Z 365177
zv_sum 140749
zv_to_Flv 219128
zv_z_mul 4360

Generated by: LCOV version 1.9