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 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.10.0 lcov report (development 19834-0e97742) Lines: 1482 1569 94.5 %
Date: 2016-12-09 05:49:11 Functions: 168 176 95.5 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Ideallist 350
Idealstar 6356
Idealstar_i 6335
Idealstarprk 266
Q_mod_bid 7
RgC_to_nfC 36778
RgM_to_nfM 3136
RgX_to_nfX 2234
ZC_add1 2688
ZC_nfval 4821310
ZC_nfvalrem 5035360
ZC_prdvd 202440
ZC_sub1 1540
ZMV_ZCV_mul 200955
ZM_ZMV_mul 518
_mul 25399
_mulii 348839264
_nf_add 1498665
_nf_inv 5572
_nf_mul 1768298
_nf_neg 84315
_nf_red 331079
_nf_s 1253
_sqr 92696
algtobasis 64901
apply_U 276645
basistoalg 52444
bid_grp 6629
check_nfelt 134504
chineseinit_i 2058
coltoalg 49371
concat_join 43414
ei_multable 392
eval_sign 303512
famat_norm 7
famat_strip2 6314
famat_to_nf_modideal_coprime 128034
famat_zlog 94819
famat_zlog_pr 91137
get_C 44721
get_nf_field 23324
get_tab 8313176
gpnfvalrem 147
idealchinese 3472
ideallist 0
ideallist0 350
ideallistarch 14
ideallog 200234
ideallog_i 202488
ideallog_sgn 197931
idealprincipalunits 112
idealprincipalunits_i 8456
idealstar0 357
indices_to_vec01 4718
init_zlog 205281
is_chineseinit 4753
isprfact 1995
join_arch 56
join_archunit 28
join_bid 476
join_bid_arch 56
join_ideal 26222
join_idealinit 476
join_unit 455
log_gen_arch 6188
log_gen_pr 10234
log_prk1 173080
matalgtobasis 2436
matbasistoalg 833
mulbytab 3248
mulmat_pol 1410352
multable 721
nfC_multable_mul 24484
nfC_nf_mul 73640
nfM_det 14
nfM_inv 1239
nfM_mul 1148
nfM_nfC_mul 20923
nf_log 242466
nf_to_scalar_or_alg 85595
nf_to_scalar_or_basis 17384504
nfadd 1607543
nfarchstar 7502
nfchecksigns 504
nfdiv 9205
nfdiveuc 259
nfdivrem 259
nfembed 1568
nfembed_i 79646
nfinv 60256
nfinvmodideal 126
nfmod 259
nfmul 4198624
nfmuli 593438
nfmulmodideal 622870
nfmulpowmodideal 340326
nfnorm 20380
nfpow 88787
nfpow_u 31948
nfpowmodideal 383103
nfsetsigns 68955
nfsign 490
nfsign_arch 315098
nfsqr 583271
nfsqri 577040
nfsqrmodideal 269660
nfsub 70980
nftrace 42
nfval 1320837
nfvalrem 15351
pl_normalize 1260
polmod_nffix 60529
polmod_nffix2 60620
poltobasis 1277890
powp 4333
pr_basis_perm 2436
pr_equal 28
pr_init 1995
principal_units 8456
principal_units_relations 3780
rnfalgtobasis 1176
rnfbasistoalg 35637
rnfeltnorm 231
rnfelttrace 567
sarch_get_F 44721
sarch_get_MI 44721
sarch_get_archp 204865
sarch_get_cyc 11830
sarch_get_lambda 44721
set_sign_mod_divisor 76445
setsigns_init 5465
split_U 5572
sprk_get_L2 141692
sprk_get_U2 138668
sprk_get_cyc 240662
sprk_get_expo 91137
sprk_get_ff 242466
sprk_get_gen 5817
sprk_get_pr 96345
sprk_get_prk 229805
sprk_is_prime 242466
sprkinit 11879
tablemul 0
tablemul_ei 3234
tablemul_ei_ej 2345
tablemulvec 721
tablesqr 5432
vec01_to_indices 320971
vecmodii 607806
vecsmall01_to_indices 1260
vzlog_pr 378
zidealij 12887
zidealstar 0
zidealstarinit 0
zidealstarinitgen 0
zkC_multable_mul 111102
zkVchinese1 2457
zk_ei_mul 7136741
zk_inv 16786
zk_modHNF 561896
zk_multable 2935374
zk_scalar_or_multable 1919963
zkadd 0
zkadd1 3192
zkchinese 0
zkchinese1 3192
zkchinese1init2 259
zkchineseinit 2198
zkmul 3192
zkmultable_capZ 311908
zkmultable_inv 328694
zksub 0
zksub1 3192
zlog 147608
zlog_pr 243502
zlog_pr_init 6062

Generated by: LCOV version 1.11