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 - FpV.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 21913-852521c) Lines: 722 936 77.1 %
Date: 2018-02-19 06:15:51 Functions: 105 131 80.2 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2m_F2c_mul 0
F2m_powu 0
F2v_dotproduct 0
Flm_Fl_mul_inplace 0
Flv_Fl_div_inplace 0
Flv_Fl_mul_inplace 0
Flv_sub_inplace 0
FpM_add 0
FpM_powu 0
FpM_sub 0
FpMs_FpC_mul 0
FpMs_FpCs_solve 0
FpMs_FpCs_solve_safe 0
FpV_add 0
FpV_dotsquare 0
FpV_sub 0
ZpMs_ZpCs_solve 0
_F2m_mul 0
_F2m_sqr 0
_FpM_mul 0
_FpM_sqr 0
gen_ZpM_Dixon 0
wrap_relcomb 0
zCs_to_ZC 0
zMs_ZC_mul 0
zMs_to_ZM 0
Flc_Flv_mul 7
FpXQC_to_mod 7
FpC_center_inplace 14
FpM_center_inplace 14
Flc_to_mod 28
Fp_center_inplace 28
FpMs_leftkernel_elt 35
matid_F2xqM 35
scalar_Flm 42
FpC_to_mod 63
FpMs_leftkernel_elt_col 119
FpMs_structelim_back 119
FpV_FpMs_mul 119
gen_FpM_Wiedemann 119
random_FpV 119
Flm_powers 126
_Flm_one 126
random_FpC 182
Flm_to_mod 189
FqM_to_mod 210
Flv_Fl_div 422
Flm_mul_sw 1018
ZMV_to_FlmV 1302
FpC_FpV_mul 1547
zm_mul 1743
FpVV_to_mod 1827
matid_FlxqM 1869
gen_matid 1904
FqC_to_mod_raw 2800
random_Flv 3325
Flv_sum 3822
add_slices 4072
FpV_to_mod 4669
Flm_Flc_mul_pre 4814
Flv_neg_inplace 5725
Flm_add 7056
subtract_slices 7126
Flm_Fl_add 8064
_Flm_mul 8099
add_slices_ip 8144
Flv_dotproductspec_i 8276
Flm_center 9947
matid_F2m 12999
Flm_powu 14658
Fl_to_intmod 19376
vecprow 25227
_Flm_sqr 27279
FpM_to_mod 56392
Flv_dotproduct_pre 57114
F2m_mul 61660
Fq_to_mod_raw 63588
wrap_relcomb_modp 75268
wrap_relker 75268
ZV_zMs_mul 75387
Flm_Flc_mul_i_2 82530
Flm_neg 110584
FpM_Fp_mul 117806
FpC_add 137683
Flv_center 142275
FpM_center 158697
Flv_add_inplace 168344
FpC_sub 199773
FpV_red 207823
Flm_Flc_mul 208573
Flm_transpose 250617
Flv_dotproduct 254618
F2m_F2c_mul_i 294513
Fp_to_mod 298223
FpM_FpC_mul_FpX 325223
FpM_mul 371556
Flv_Fl_mul 433803
ZlM_gauss 600559
FpC_Fp_mul 622678
Flv_add 630526
FpM_FpC_mul 894033
matid_Flm 894523
FpM_FpC_mul_i 939667
FpX_to_mod 1076850
FpC_center 1262234
FpV_dotproduct 1351233
Flv_neg 1372009
Flv_Fl_mul_part_inplace 1547511
FpM_red 1776354
Flx_dotproduct 2034918
Flv_dotproductspec_SMALL 2317167
ZM_to_Flm 3750760
zm_zc_mul 4606630
Flm_mul 5581890
Flm_mul_classical 5587890
Flm_mul_i 5588908
Flm_Fl_mul 6566298
Flm_sub 7128384
Flm_Flc_mul_pre_Flx 7586856
to_intmod 9134779
FpC_red 9225814
ZMrow_ZC_mul_i 11488014
ZV_to_Flv 17637637
Flm_Flc_mul_i_SMALL 18651834
Flm_Flc_mul_i 20279224
__Flm_Flc_mul_i_SMALL 22031305
__Flm_Flc_mul_i 24496378
Flv_sub 58270669
zmrow_zc_mul 68773985
Flmrow_Flc_mul_i 127285377
Flmrow_Flc_mul_SMALL 188887080

Generated by: LCOV version 1.11