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 - factcyclo.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.18.1 lcov report (development 30702-bddb8d6928) Lines: 916 1079 84.9 %
Date: 2026-02-23 02:23:56 Functions: 77 85 90.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Flx_factcyclo_fact 0
Flx_factcyclo_lift 0
Flx_factcyclo_prime_power 0
Q_size 0
ZX_chinese_center 0
ZX_size 0
ZX_to_nx 0
header 0
Flx_factcyclo_newton_general_new3 6
FpX_factcyclo_fact 6
FpX_factcyclo_lift 6
use_general 6
FpX_factcyclo_prime_power 12
use_newton_general 12
FpX_factcyclo 30
FpX_factcyclo_newton_general_new3 46
get_kT_all 52
get_kTdiv 52
kT_from_kt_new 52
newton_general_new_pre3 52
update_dfm 60
Flx_factcyclo 220
Fl_mk_v_t_p3 240
Flx_pol_newton_general_new3 288
FpX_pol_newton_general_new3 345
Fp_mk_v_t_p3 393
ZpX_roots_nonsep 712
FpX_factcyclo_gen 1188
FpX_factcyclo_newton_pre 1682
FpX_factcyclo_newton_general 2144
ZX_Zp_liftroots 2148
FpX_factcyclo_prime_power_i 2356
FpX_split 2472
FpX_1st_lift 2815
FpX_pol_newton 3146
FpX_1st_lift_2 3968
FpX_factcyclo_just_conductor 5054
FpX_pol_newton_general 6091
FpX_conductor_lift 9274
FpX_factcyclo_i 9442
FpX_Newton_perm 9582
FpX_lift 10428
Fp_next_gen3 10937
Flx_factcyclo_newton_general 11400
get_kT 13544
Flv_FlvV_factorback 13596
QXV_den_pval 13596
get_GH_gen 13596
get_i_t 13596
get_vT 13596
Fl_next_gen3 17520
Flx_pol_newton_general 20600
Flx_factcyclo_newton_pre 26992
Flx_factcyclo_prime_power_i 26992
get_vG 27192
FpX_factcyclo_newton_power 28674
gausspol 28674
set_E 28674
set_R 28674
Flx_split 29210
set_e0_e1 29348
Flx_1st_lift 36525
Flx_factcyclo_gen 37610
mk_v_t_el 41362
ZpX_roots_all 42270
get_d0_d1 42270
get_n_el 42270
start_el_n 42270
Flx_pol_newton 49096
Flx_1st_lift_2 56408
get_G 57348
FpX_degsub 66183
use_newton 67299
Flx_Newton_perm 69984
Flx_factcyclo_just_conductor 76008
QX_den_pval 79727
FpX_factcyclo_just_conductor_init 81062
set_action 81062
list_el_n 84540
gausspol_el 86096
Flx_conductor_lift 120521
Flx_factcyclo_i 133974
Flx_lift 135300
factormodcyclo 143166
cmpGuGu 1477106

Generated by: LCOV version 1.16