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 21188-db834f2) Lines: 1593 1695 94.0 %
Date: 2017-10-20 06:23:07 Functions: 180 189 95.2 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Ideallist 3192
Idealstar 26446
Idealstar_i 26719
Idealstarprk 273
Q_mod_bid 7
RgC_to_nfC 75873
RgM_RgX_mul 1330
RgM_to_nfM 8337
RgX_to_nfX 5195
ZC_add1 6265
ZC_nfval 4829991
ZC_nfvalrem 5067155
ZC_prdvd 243740
ZC_sub1 3766
ZMV_ZCV_mul 313487
ZM_ZMV_mul 518
ZM_ZX_mul 2313532
_mul 28240
_mulii 387195497
_nf_add 9315495
_nf_inv 41426
_nf_mul 11276363
_nf_neg 569884
_nf_red 2393755
_nf_s 8232
_sqr 105110
algtobasis 154137
apply_U 356571
basistoalg 86688
bid_grp 27013
check_nfelt 182811
chineseinit_i 2135
chk_ind 18557
coltoalg 77826
concat_join 86065
ei_multable 2275
eval_sign 310625
eval_sign_embed 382480
famat_norm 7
famat_strip2 26698
famat_to_nf_modideal_coprime 192343
famat_zlog 113481
famat_zlog_pr 110541
get_C 55248
get_nf_field 177177
get_tab 9592936
gpnfvalrem 147
idealchinese 3640
ideallist 2842
ideallist0 350
ideallistarch 14
ideallog 287230
ideallog_i 315083
ideallog_sgn 301909
idealprincipalunits 112
idealprincipalunits_i 14133
idealstar0 63
indices_to_vec01 4830
init_zlog 353912
is_chineseinit 4956
isprfact 2072
join_arch 56
join_archunit 28
join_bid 476
join_bid_arch 56
join_ideal 47698
join_idealinit 476
join_unit 455
log_gen_arch 9975
log_gen_pr 50820
log_prk1 227008
matalgtobasis 2583
matbasistoalg 1253
mulbytab 7420
multable 1631
nfC_multable_mul 49896
nfC_nf_mul 164507
nfM_det 14
nfM_inv 8218
nfM_mul 8022
nfM_nfC_mul 160923
nf_log 388535
nf_to_scalar_or_alg 182171
nf_to_scalar_or_basis 81493926
nfadd 15574685
nfarchstar 28074
nfchecksigns 560
nfchecksigns_i 63399
nfdiv 18326
nfdiveuc 259
nfdivrem 259
nfeltembed 4893
nfeltsign 770
nfembed 1610
nfembed_i 10031
nfinv 63553
nfinvmodideal 147
nfmod 259
nfmul 20573797
nfmuli 1583733
nfmulmodideal 736047
nfmulpowmodideal 424138
nfnorm 24616
nfpow 101233
nfpow_u 45703
nfpowmodideal 477282
nfsetsigns 91690
nfsign 1309
nfsign_arch 345800
nfsqr 4745908
nfsqri 671322
nfsqrmodideal 276043
nfsub 1191708
nftrace 23562
nfval 1301510
nfvalrem 64925
num_positive 1434
oksigns 0
oksigns2 0
pl_convert 203
pl_normalize 1316
pol_to_scalar_or_basis 1439071
polmod_nffix 61376
polmod_nffix2 61467
poltobasis 2156194
powp 20104
pr_basis_perm 8344
pr_equal 28
pr_init 2072
principal_units 14133
principal_units_relations 5768
rnfalgtobasis 1176
rnfbasistoalg 36134
rnfeltnorm 231
rnfelttrace 567
sarch_get_F 55248
sarch_get_MI 55248
sarch_get_archp 264594
sarch_get_cyc 49161
sarch_get_lambda 55248
set_sign_mod_divisor 109708
setsigns_init 14368
split_U 25956
sprk_get_L2 198812
sprk_get_U2 187906
sprk_get_cyc 348854
sprk_get_expo 110541
sprk_get_ff 388535
sprk_get_gen 25592
sprk_get_pr 129539
sprk_get_prk 298447
sprk_is_prime 388535
sprkinit 31654
tablemul 0
tablemul_ei 10269
tablemul_ei_ej 16919
tablemulvec 1631
tablesqr 39900
vec01_to_indices 360500
vecmodii 1209640
vecmoduu 8253
vecsmall01_to_indices 1316
vzlog_pr 378
zidealij 20797
zidealstar 0
zidealstarinit 0
zidealstarinitgen 0
zkC_multable_mul 129435
zkVchinese1 11011
zk_ei_mul 7308432
zk_embed 393771
zk_inv 39779
zk_modHNF 602917
zk_multable 2978704
zk_scalar_or_multable 1590849
zkadd 0
zkadd1 12215
zkchinese 0
zkchinese1 12215
zkchinese1init2 259
zkchineseinit 10752
zkmul 12215
zkmultable_capZ 378954
zkmultable_inv 418733
zksub 0
zksub1 12215
zlog 246679
zlog_pr 389571
zlog_pr_init 6062

Generated by: LCOV version 1.11