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 - nflist.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.18.1 lcov report (development 30734-f1f26dedcb) Lines: 3260 3395 96.0 %
Date: 2026-03-07 09:24:37 Functions: 327 335 97.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
makeCLall 0
makeCpqsome 0
polsubcycloC2 0
polsubcycloC2_i 0
polsubcycloC6 0
polsubcycloC6_i 0
veccond_to_A5 0
vecsliceA5cond 0
makeA56 7
makeA56resolvent 7
makeA5cond 7
makeV4pairssimple 7
polsubcycloC3 7
polsubcycloC3_i 7
polsubcycloC5 7
makeA5 14
makeC2resolvent 14
makeC32D4resolvent 14
makeC3resolvent 14
makeC4resolvent 14
makeD612resolvent 14
makeD9resolvent 14
makeS32resolvent 14
makeS3resolvent 14
nfmakesomehard 14
vecs14 14
vecsliceA5 14
condrel_dummy 21
divispowerall 21
divissquare 21
makeA5_i 21
makeC1resolvent 21
makeC3C3resolvent 21
makeS36resolvent 21
makeV4pairs 21
makeV4resolvent 21
okgal2 21
gceilsqrtdiv 28
group_add_elt 28
makeA4S4resolvent 28
makeC1vec 28
makeC32C4resolvent 28
makeC6resolvent 28
makeCpqresolvent 28
makeCpqresolvent_i 28
makepol6abs 28
mybnrclassfield_N 28
polsubcycloV4_i 28
makeA5condvec 35
makeDLresolvent 35
makeMgenresolvent 35
nfY 35
nfsort 35
parselectS36 35
makeC32D4vec 42
makeS32vec 42
makeS3C3vec 42
makeS46Mvec 42
makeV4vec 42
divissquareall 49
doC32C4 49
find_by_deg 49
makeA4 49
makeA46 49
makeA462 49
makeA462vec 49
makeA4_i 49
makeC32C4vec 49
makeC32D4 49
makeC3C3 49
makeC3C3vec 49
makeC9vec 49
makeCLresolvent 49
makeCpq 49
makeD612vec 49
makeD9vec 49
makeS32 49
makeS36vec 49
makeS3C3 49
makeS462 49
makeS46P 49
makeV4 49
arch3 56
makeA56vec 56
makeC32C4 56
makeC32C4_i 56
makeC9 56
makeD612 56
makeS462vec 56
makeS46M 56
arch1 63
arch1g 63
arch2 63
arch2g 63
gal_get_order 63
makeA56vec_i 63
makeC1 63
makeC5 63
makeCpqvec 63
makeD9 63
makeS36 63
mynfsubfields 63
polsubcycloC4 63
vecs 70
extractS3cond 77
makeC3 77
makeC5vec 77
makeS32common 77
makeS4 77
makeS4_i 77
nflist_C9_worker 77
ceilsqrtndiv 84
makeD4vec 84
archA462 91
gets2s3 91
makeA46S46Pvec 91
makeA4S4vec 91
makeC6vec 91
archS4621 98
archS4623 98
makeA5vec 98
makeCL_f 98
C5bnf 105
ZX_red_disc 105
makeC6 105
makeCL 105
minlim 105
Cpq_snew 112
condrelresolvent 112
lcmiu 112
makeC3_i 112
mullist2 112
arch0 126
decp 126
divis_if_dvd 126
makeMgen 126
makepolC3 126
makeA5vec_i 133
makeC4vec 133
makeC4vec_i 133
uispq 133
makeC2 140
makeMgenvec 140
A5vec 154
makeD4 154
polsubcyclofast 154
polsubcyclofast_i 154
nfmakesome 168
archD40 175
archD41 175
cubicimag 175
nflist_A462_worker 175
archD42 182
makeC2vec 182
C3vec 196
ceilsqrt 196
condrel 196
floorsqrt 196
cubicreal 203
bnrcfC9 210
condrel_i 210
mynfsubfield 217
zvV_to_ZXV 217
makeC3vec 224
nflist_C3C3_worker 224
nfshorten 224
C3vec_F 231
isCp 231
getarchD4 238
makeCLvec 238
nflist_S46M_worker 252
A5file 273
nflistfile 273
vecsliceA5all 273
vecslicebyX 273
Sextract 280
ceilsqrtn 280
P2Nfa 294
makeC3_f 322
sum2sq 329
makeS46Ppols 343
checkcondC3 357
divisorsdisc 392
nflist_S3C3_worker 413
checkfield 427
nflist_S3R_worker 427
sceilsqrtn 427
nfresolvent_small 441
MgenF 462
prMconj 462
C5cleanB 518
nfresolvent 553
nfresolvent_i 553
makepolS32 560
doA4S4 637
glco46M 637
makeS46Mpols 637
makeC4 644
cmp2 700
A4clean3 707
ok_s 721
divisorsabsdisc 735
ZX_red_disc2 749
nflist_D612_worker 784
C3pol_f 858
nflist_C6_worker 865
nflist_A46S46P_worker 880
ok_disc 917
getpol 952
nflist_S462_worker 956
nflist_S3I_worker 1028
okfield 1078
divisorsdisc_i 1127
nflist_C32C4_worker 1133
gceilsqrtn 1162
makeDLvec 1211
nonabelianfilter 1260
cyclicprimegen 1288
makeS3vec 1316
cored 1393
makeDL 1428
nflist_D9_worker 1532
floorsqrtndiv 1617
lcmuu 1680
ok_intu 1792
X2m 1883
nfmakevecnum 2030
nfmakenum 2065
makepolC5 2218
C5prim 2219
nflist_C4vec_worker 2244
C4vec 2252
okgal1 2380
grouptranslate 2415
fa_is_fundamental_pm 2450
cyclicgalois 2632
isprM 2653
nflist_Mgen_worker 2806
getpell 2849
checkfield_i 2912
okgal 2912
sturmseparate 2940
nflist_parapply 2947
doC32C4_i 2961
floorsqrtn 3353
fund_pm 3500
isok3 3626
nflist_D4_worker 3702
issquareclass 4172
nflist_C3_worker 4192
makeA5resolvent 4221
stable_arch 4515
nflist_C5_worker 4591
polsubcycloC5_i 4654
checkcondCL 4752
Y2m 4904
nflist_V4_worker 5021
ufund_pm 5243
ceildiv 5693
cycfindaut 5894
group_nTk 6209
X2p 6299
ideallistsquare 6426
nflist_DL_worker 6430
checkcondell_i 6947
ceilsqrtdiv 7151
Pell2prfa 7224
nflist_S32_worker 7467
usum2sq 7857
P2fa 8119
makepol6 8494
nflist 8624
C6fill 8695
checkcondDL 10436
cubictypedec 11396
nflist_CL_worker 11404
RgXV_polred 11416
bnf_get_disc 12229
pol2s 12677
nflist_S36_worker 14717
bnfY 20194
doA462 20251
nflist_A4S4_worker 22690
nflist_A4S4_worker_i 22704
makepolC4 23612
S4_get_disc 23849
eltlist2 23968
makeGid 23968
makevunits 23968
C32D4pol 25291
cyc_is_trivial 25291
divide 27165
nflist_C32D4_worker 27263
bigdisc 27277
oddnorm 27419
polsubC4_D 27647
C4qfbsolve 27653
_nfsubfields1 28459
_nfsubfields 31678
RgVV_nb 34363
idlist 34363
S4makeidclass 35021
floorsqrtdiv 35980
gtoset_shallow 36146
gfloorsqrtdiv 38232
S4makeid 40424
zv_is_1 41461
A4S4_fa 41594
makeA4S4 41943
aut2 42236
ZV_is_1 45738
myshallowconcat1 57604
quadcubpow 57627
r2 58330
polsubcycloC4_i 60110
S4data 65777
checkS4data 65779
ZV_iseven 110122
issolvable 110134
to_principal_unit 110138
mybnrclassfield 145266
polD4onecond 177324
authI 177326
mybnrclassfield_X 184635
polV4 227880
is_fundamental_pm 308910
uC3pol_f 415044
ok_int 572209
nfcoredisc2 629202
nfcoredisc 644764
uis_fundamental_pm 695686
uis_fundamental_pm_i 705484
checkU 1095742
sfloordiv 1193321
sceildiv 2157422

Generated by: LCOV version 1.16