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 20935-1ada2f1) Lines: 1593 1695 94.0 %
Date: 2017-08-23 06:24:09 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 5188
ZC_add1 6265
ZC_nfval 4836895
ZC_nfvalrem 5074052
ZC_prdvd 243740
ZC_sub1 3766
ZMV_ZCV_mul 313487
ZM_ZMV_mul 518
ZM_ZX_mul 2318080
_mul 28429
_mulii 388575255
_nf_add 9315495
_nf_inv 41426
_nf_mul 11276363
_nf_neg 569884
_nf_red 2393755
_nf_s 8232
_sqr 105405
algtobasis 154466
apply_U 356571
basistoalg 87199
bid_grp 27013
check_nfelt 182811
chineseinit_i 2142
chk_ind 18557
coltoalg 78407
concat_join 86065
ei_multable 2275
eval_sign 310625
eval_sign_embed 382480
famat_norm 7
famat_strip2 26698
famat_to_nf_modideal_coprime 192336
famat_zlog 113474
famat_zlog_pr 110534
get_C 55248
get_nf_field 177177
get_tab 9658217
gpnfvalrem 147
idealchinese 3668
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 4949
isprfact 2079
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 2604
matbasistoalg 1232
mulbytab 7392
multable 1617
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 182710
nf_to_scalar_or_basis 81498615
nfadd 15574636
nfarchstar 28074
nfchecksigns 546
nfchecksigns_i 63371
nfdiv 18326
nfdiveuc 259
nfdivrem 259
nfeltembed 4893
nfeltsign 770
nfembed 1610
nfembed_i 10031
nfinv 63553
nfinvmodideal 147
nfmod 259
nfmul 20574744
nfmuli 1585310
nfmulmodideal 736103
nfmulpowmodideal 424117
nfnorm 24602
nfpow 101946
nfpow_u 45703
nfpowmodideal 477261
nfsetsigns 91676
nfsign 1302
nfsign_arch 345793
nfsqr 4745779
nfsqri 673020
nfsqrmodideal 276029
nfsub 1191645
nftrace 23562
nfval 1301440
nfvalrem 64925
num_positive 1434
oksigns 0
oksigns2 0
pl_convert 189
pl_normalize 1302
pol_to_scalar_or_basis 1440723
polmod_nffix 61362
polmod_nffix2 61453
poltobasis 2160808
powp 20104
pr_basis_perm 8344
pr_equal 28
pr_init 2079
principal_units 14133
principal_units_relations 5768
rnfalgtobasis 1176
rnfbasistoalg 36001
rnfeltnorm 231
rnfelttrace 567
sarch_get_F 55248
sarch_get_MI 55248
sarch_get_archp 264559
sarch_get_cyc 49161
sarch_get_lambda 55248
set_sign_mod_divisor 109701
setsigns_init 14354
split_U 25956
sprk_get_L2 198812
sprk_get_U2 187906
sprk_get_cyc 348847
sprk_get_expo 110534
sprk_get_ff 388535
sprk_get_gen 25592
sprk_get_pr 129532
sprk_get_prk 298440
sprk_is_prime 388535
sprkinit 31654
tablemul 0
tablemul_ei 10269
tablemul_ei_ej 16919
tablemulvec 1617
tablesqr 39900
vec01_to_indices 360493
vecmodii 1209640
vecmoduu 8253
vecsmall01_to_indices 1302
vzlog_pr 378
zidealij 20797
zidealstar 0
zidealstarinit 0
zidealstarinitgen 0
zkC_multable_mul 129421
zkVchinese1 11011
zk_ei_mul 7370438
zk_embed 393771
zk_inv 39772
zk_modHNF 602973
zk_multable 2989462
zk_scalar_or_multable 1593324
zkadd 0
zkadd1 12215
zkchinese 0
zkchinese1 12215
zkchinese1init2 259
zkchineseinit 10752
zkmul 12215
zkmultable_capZ 378891
zkmultable_inv 418663
zksub 0
zksub1 12215
zlog 246679
zlog_pr 389571
zlog_pr_init 6062

Generated by: LCOV version 1.11