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 - galconj.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.18.1 lcov report (development 30702-bddb8d6928) Lines: 1915 2300 83.3 %
Date: 2026-02-23 02:23:56 Functions: 121 153 79.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FlxV_Flx_gcd 0
FlxV_minpolymod 0
Flx_FlxV_minpolymod 0
br_get 0
brl_add 0
factperm 0
findp 0
galoisconj4 0
galoisgenlift_nilp 0
galoisperm_free 0
galoisperm_init 0
genorbit 0
get_pow 0
getfr 0
muldiv 0
nilp_froblift 0
pc_bracket 0
pc_evalcache 0
pc_exp 0
pc_inv 0
pc_mul 0
pc_normalize 0
pc_to_perm 0
pcgrp_get_br 0
pcgrp_get_ord 0
pcgrp_get_pow 0
pcgrp_insert 0
pcgrp_lift 0
permprodeval 0
permtoaut 0
vecsmall_increase 0
vecvecsmall_increase 0
galois_find_totally_split 6
f36galoisgen 12
vec_groupelts_to_group_or_elts 12
galoisexport 24
f36releveauto4 30
cc_char_det 48
galoischardet 48
galoisisnormal 48
galoisconj0 54
findpsi 59
s4galoisgen 63
galoissubfields 64
FpXV_ffisom 75
mkliftpow 75
fixedfieldfactor 78
galoiscosets 78
galoisfindgroups 80
a4galoisgen 81
galoisisabelian 192
conjclasses_count 264
galoisconjclasses 264
s4releveauto 413
galoisidentify 432
cc_chartable 468
galoischartable 474
groupelts_to_group_or_elts 708
chiFT 738
f36releveauto2 780
fixedfieldinclusion 827
conjcyclo 831
galoissplittinginit 1060
aut_to_groupelts 1067
galoisinitfromaut 1073
galoisdoliftn 1113
s4makelift 1223
galoischarpoly 1230
checkgaloischar 1278
galoischar_charpoly 1278
galoischar_dim 1326
galoismakepsi 1425
inittestlift 1460
listznstarelts 1465
frobeniusliftall 1669
galoisfrobeniuslift 1857
galoissubgroups 2740
galois_group 2852
chival 3360
Qevproj_RgX 3588
checkgroup 3632
checkgroupelts 3972
galoisgenlift 4644
fixedfieldfactmod 4660
galoisgenfixedfield 4660
galoisgenfixedfield0 4660
sympol_aut_evalmod 4660
freetest 4725
inittest 4725
galoisfixedfield 4756
Vmatrix 4928
matheadlong 4928
galoisgenliftauto 5661
get_image 5661
wpow 5661
chk_perm 6085
group_is_elt 7144
testpermutation 7521
galoisvecpermtopol 7752
fixedfieldorbits 9416
fixedfieldsurmer 9416
fixedfieldsympol 9416
sympol_eval 9416
is2sparse 9426
Flv_sympol_eval 9482
sympol_eval_newtonsum 9482
sympol_is1to1_lg 9887
embed_roots 10524
galoischar_aut_charpoly 10590
is_group 11201
stpow 12576
Flm_newtonsum 14982
galoispermtopol 15396
galoispermtopol_i 15396
cyclic_pc 20789
galoisfrobeniuslift_nilp 23694
psi_order 25449
galoisfindfrobenius 25461
makeLden 25536
galoisgen 25617
galoisdolift 25626
initlift 25626
checkgal 26412
galoisborne 26780
automorphismlift 27225
monomorphismratlift 27225
gg_get_std 29145
galoisconj1 30782
numberofconjugates 30782
cc_id 31662
polheadlong 33115
permtopol 42763
galoisinit 43918
vectopol 44052
vecheadlong 49730
galoisfrobeniustest 51738
monoratlift 54175
poltopermtest 56173
notgalois 57308
galoisconj 60207
galoisconj_monic 60207
initgaloisborne 72203
padicisint 80248
galoisanalysis 82925
init_group 82925
galoisconj4_main 83055
galois_test_perm 100667
embed_disc 112780
improves 140277
s4test 204772
lincomb 273186
matrixnorm 413148
intheadlong 1157489

Generated by: LCOV version 1.16