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 to exceed 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 - pclgp.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.18.0 lcov report (development 29804-254f602fce) Lines: 1838 2381 77.2 %
Date: 2024-12-18 09:08:59 Functions: 153 180 85.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
D_xi_el_sl 0
D_xi_el_ss 0
D_xi_el_vell 0
D_xi_el_vell_FFT 0
FlxqX_xi_norm 0
K_get_s 0
ber_norm_with_val 0
bound_pol_xi 0
chk_el_real_f 0
chk_el_real_galois 0
cyc_buch 0
delete_el 0
find_conj_el 0
find_gen 0
get_teich 0
get_xi_2 0
is_cyclic 0
minpol_xi 0
pol_xi_el 0
quadlambda2 0
quadstkp2 0
quadteichstk 0
real_MLLn 0
verbose_output 0
xi_approx 0
xi_data_galois 0
znstar_subgr 0
imag_MLLn 2
gauss_el_vell 4
vz_vell 6
chk_el_real_factor 7
get_coset 7
make_G_K 7
real_MLL 7
subgr2vecsmall 7
use_factor 7
FpV_shift_sub 10
G_K_p 12
imag_MLL 12
Flx_recip1_inplace 14
Flx_rescale_inplace 14
bound_coeff_xi 14
chk_el_real_basis 14
errpdiv 14
find_del_el 14
get_Xi 14
imagquadstkpol 14
minpol_theta 14
quadstk2 14
quadstkp 14
quadstkp1 14
real_MLL1 14
realquadstkpol 14
set_gam2 14
theta_xi_approx 14
xi_data_basis 14
zx_to_Flx_inplace 14
FpV_shift_add 15
ber_norm_by_cyc 21
chk_el_real_chi 21
cyc_real_MLL 21
next_el_real 21
set_ell_real 21
unit_index 21
use_basis 21
ediff_ber 28
quadlambda 28
set_chin 28
vecsmall2vec2 28
D_xi_el_Flx_mul 34
D_xi_el_ZX_mul 35
ediff 35
next_ell_real 35
set_A 35
cyc_imag_MLL 42
imag_MLL1 42
Xi_el 47
make_Theta 47
make_Xi 47
theta_xi_el 47
abeliwasawa 49
ber_norm_cyc 49
zx_p_val 49
imag_cyc_pol 56
next_el_imag 56
pol_chi_xi 56
set_ell_imag 56
set_quad_chi 56
get_str 63
next_ell_imag 70
ary2mat 77
make_p_part 77
structure_MLL 77
Flxn_Weierstrass_prep 84
gauss_Flx_mul 85
gauss_ZX_mul 90
set_minpol_teich 91
norm_chi 94
ber_norm_by_val 98
Flv_shift_sub 102
G_K_l 114
rel_class_num 119
root_of_1 119
subcyclohminus 119
subcycloiwasawa 126
subcycloiwasawa_i 126
pclgp 161
Flv_shift_add 173
get_y 175
G_K_vell 182
ber_conj 196
set_p_f 196
subcyclopclgp 210
FlxXn_translate1 224
FpX_ber_conj 252
delete_ele 252
find_ele 259
ber_norm_with_val2 301
Flxn_shift_mul 308
ZX_p_val 315
GHinit 329
checkp 336
FpX_one_cyclo 343
gather_part 392
reduce_gcd 413
subcyclo_init 441
FlxX_weier_deg 448
get_xi_1 462
set_gam 476
chk_ell_real 616
Flxn_translate1 756
ber_cyc5 812
Flx_divcheck 896
lam_chi_xi 910
set_minpol 945
FlxqX_xi_conj 966
deg_trunc 1057
set_C 1134
Flx_weier_deg 1582
xi_conj_l 1673
srh_pol 3024
imag_cyc_lam 3262
cyc_real_ll 5145
get_e_chi_ll 5145
srh_x 8995
pclgp_cyc_imag 10080
pclgp_cyc_real 10164
zx_ber_num 13146
get_chi 13419
xi_conj_s 13797
Flx_ber_den 14490
lam_chi_ber 14504
Flx_red_inplace 17094
K_get_g 17102
K_get_H 17368
K_get_h 17424
Flv_extgcd 18795
subgp2ary 18795
zncharlift 18795
srh_1 18963
Flv_FlvV_factorback 19124
Flx_ber_conj 21756
K_get_nconj 23660
ZX_ber_conj 26257
ZX_ber_den 26257
cyc_imag 26334
cyc_real_ss 26579
_get_s 28392
_get_H 30787
_get_h 30843
cyc_real_pre 35091
get_e_chi 35857
Flxq_xi_conj 39046
pol_zero 53263
_get_g 53957
K_get_dchi 59314
K_get_f 82965
K_get_d 112755
_get_f 119820
_get_d 178002

Generated by: LCOV version 1.16