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 - base3.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.18.1 lcov report (development 29950-285c5b69ed) Lines: 2061 2170 95.0 %
Date: 2025-02-05 09:09:51 Functions: 227 238 95.4 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
idealstar0 0
nfM_ker 0
nfembed 0
sprk_get_AgL2 0
tablemul 0
zidealstar 0
zidealstarinit 0
zidealstarinitgen 0
zkadd 0
zkchinese 0
zksub 0
Q_mod_bid 14
ideallistarch 14
join_archunit 14
nfM_det 14
famatQ_to_famatZ 35
famat_abs 35
famat_cba 35
famat_norm 35
famat_sign 35
join_arch 42
join_bid_arch 42
log_prk_units_init 49
idmulred 56
gideallist 63
idealHNF_norm_pval 63
sprk_get_k 63
sprk_to_bid 63
ideallog_units 84
nfV_cxlog 97
idealstarmod 112
to_RgX 119
idealprincipalunits 189
nfinvmodideal 189
famat_zlog_pr_coprime 196
nfdiveuc 259
nfdivrem 259
nfmod 259
zkchinese1init2 259
Idealstarprk 273
pr_equal 357
idpowred 413
join_unit 448
rnfeltnorm 462
join_bid 469
join_idealinit 469
veclog_prk 497
ZM_ZMV_mul 518
log_prk_units 518
cxlog_m1 532
nfeltembed 728
nfeltembed_i 728
Idealstar 938
rnfelttrace 1043
pl_convert 1111
nfissquare 1127
famat_logembed 1309
RgM_RgX_mul 1365
rnfalgtobasis 1428
multable 1890
tablemulvec 1890
nfpolsturm 1967
sprk_log_gen_pr 2037
nfembed_i 2140
matbasistoalg 2751
pl_normalize 2765
vecsmall01_to_indices 2765
nfM_mul 2826
nfM_inv 3211
_nf_s 3225
tablemul_ei 4130
isprfact 5557
pr_init 5557
tablemul_ei_ej 5739
chineseinit_i 6026
RgM_to_nfM 6165
mulbytab 7013
nfispower 7711
tablesqr 10366
ideallist 10563
idealchinese 11283
ideallist0 11298
Ideallist 11333
is_chineseinit 11977
_nf_inv 13443
ideallog 13769
gpnfvalrem 15015
scalar_logembed 15239
nfchecksigns 15272
nftrace 21300
cxlog_1 23138
oksigns 25034
RgX_to_nfX 29285
nfC_multable_mul 30550
matalgtobasis 32269
chk_ind 36547
nfdiv 37518
ei_multable 39449
pr_basis_perm 43813
nfsign 44240
nfM_nfC_mul 48162
get_nf_field 54213
principal_units_relations 56790
rnfbasistoalg 56917
ZC_sub1 70497
idmul 72020
zk_embed 74787
nfchecksigns_i 80763
log_gen_arch 86265
idealfactorback 86485
idpow 87971
log_prk_init 90243
nflogembed 98712
sprk_log_gen_pr2 105867
nfC_nf_mul 111199
RgC_to_nfC 111879
nfeltsign 125790
parse_embed 128478
checkarchp 134095
indices_to_vec01 136896
idealprincipalunits_i 169280
principal_units 169288
ZC_add1 169780
polmod_nffix 172621
polmod_nffix2 172712
nfinv 188174
zkC_multable_mul 194407
_nf_neg 203884
check_nfelt 218964
famat_cxlog 223285
nfnorm 223453
ideallog_units0 227138
zkchineseinit 237224
zidealij 237237
zkVchinese1 237472
zkadd1 255422
zkmul 255437
zkchinese1 255495
zksub1 255497
split_U 257565
Idealstarmod 258029
Idealstarmod_i 258303
bid_grp 258593
famat_strip2 258921
check_mod_factored 258940
nffactorback 265352
join_ideal 268453
sprk_log_prk1 275855
zk_inv 305226
sprk_get_gnf 318207
eltmul 327935
sprk_get_gen 335956
coltoalg 340808
nfpow_u 342907
_mul 354423
init_zlog 380262
zlog 381578
setsigns_init 391757
sprk_log_prk1_2 404404
basistoalg 413969
log_gen_pr 413976
famat_nfvalrem 420735
sprkinit 426108
eltpow 465223
sarch_get_cyc 486508
order_update 560274
nfarchstar 567519
get_C 608367
sarch_get_lambda 608367
sarch_get_F 608368
sarch_get_MI 608369
nfsetsigns 722309
set_sign_mod_divisor 753492
concat_join 758584
_nf_red 774478
num_positive 910230
nfpow 942306
algtobasis 958208
powp 973413
_sqr 982655
nfsign_arch 1047679
vec01_to_indices 1094452
sprk_get_U2 1205101
sprk_get_L2 1213680
zkmultable_capZ 1248847
ZC_prdvd 1251158
nf_cxlog 1309616
log_prk1 1331681
famat_zlog 1374208
ideallog_i 1383405
ideallogmod 1390086
nfsub 1429857
zkmultable_inv 1554072
sarch_get_archp 1555443
ZC_cxlog 1715167
ZMV_ZCV_mul 1755731
ZV_snf_gcd 1953134
famat_zlog_pr 1969540
sprk_get_expo 1969735
init_zlog_mod 1990801
apply_U 2156275
sprk_is_prime 2543690
sprk_get_ff 2543693
sprk_get_pr 2604083
log_prk 2617661
famat_to_nf_modideal_coprime 2622525
nfsqrmodideal 2688545
pol_to_scalar_or_basis 3467032
nfvalrem 3662672
_nf_add 3854262
sprk_get_cyc 3984315
_nf_mul 4491406
nfsqri 4493428
nfmuli 4536879
low_prec 4612182
nfmulpowmodideal 4696211
nf_to_scalar_or_alg 4829666
sprk_get_prk 4917910
zk_scalar_or_multable 4996325
nfval 5604577
nfpowmodideal 5847517
nfsqr 6069152
nfsqri_ZC 7105579
nfmulmodideal 7293365
zk_modHNF 7820716
nfmuli_ZC 8064160
poltobasis 9349050
ZM_ZX_mul 9950848
zk_multable 10786926
nfadd 14240898
ZC_nfval 19747518
zk_ei_mul 23909545
ZC_nfvalrem 24020090
nfmul 24528160
get_tab 39125888
is_famat 53849575
nf_to_scalar_or_basis 121381553
_mulii 1086473013

Generated by: LCOV version 1.16