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 20777-d2a9243) Lines: 1589 1695 93.7 %
Date: 2017-06-25 05:59:24 Functions: 179 189 94.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Ideallist 3192
Idealstar 26432
Idealstar_i 26698
Idealstarprk 266
Q_mod_bid 7
RgC_to_nfC 75873
RgM_RgX_mul 1330
RgM_to_nfM 8337
RgX_to_nfX 2276
ZC_add1 6237
ZC_nfval 4837581
ZC_nfvalrem 5074731
ZC_prdvd 243740
ZC_sub1 3766
ZMV_ZCV_mul 314271
ZM_ZMV_mul 518
ZM_ZX_mul 2311075
_mul 28429
_mulii 388570846
_nf_add 9315495
_nf_inv 41426
_nf_mul 11276363
_nf_neg 569884
_nf_red 2393755
_nf_s 8232
_sqr 105335
algtobasis 153927
apply_U 357215
basistoalg 86401
bid_grp 26992
check_nfelt 183553
chineseinit_i 2086
chk_ind 18557
coltoalg 77840
concat_join 86065
ei_multable 2275
eval_sign 310625
eval_sign_embed 382473
famat_norm 7
famat_strip2 26677
famat_to_nf_modideal_coprime 192266
famat_zlog 113474
famat_zlog_pr 110534
get_C 55241
get_nf_field 177177
get_tab 9656899
gpnfvalrem 147
idealchinese 3542
ideallist 2842
ideallist0 350
ideallistarch 14
ideallog 288028
ideallog_i 315867
ideallog_sgn 302693
idealprincipalunits 112
idealprincipalunits_i 14112
idealstar0 63
indices_to_vec01 4830
init_zlog 354696
is_chineseinit 4809
isprfact 2023
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 227673
matalgtobasis 2520
matbasistoalg 1169
mulbytab 7308
multable 1575
nfC_multable_mul 49896
nfC_nf_mul 164507
nfM_det 14
nfM_inv 8218
nfM_mul 8022
nfM_nfC_mul 160923
nf_log 389655
nf_to_scalar_or_alg 182066
nf_to_scalar_or_basis 81484372
nfadd 15574503
nfarchstar 28053
nfchecksigns 511
nfchecksigns_i 63308
nfdiv 18326
nfdiveuc 259
nfdivrem 259
nfeltembed 4893
nfeltsign 770
nfembed 1589
nfembed_i 10031
nfinv 63553
nfinvmodideal 147
nfmod 259
nfmul 20574464
nfmuli 1585303
nfmulmodideal 736054
nfmulpowmodideal 424180
nfnorm 24546
nfpow 101862
nfpow_u 45703
nfpowmodideal 477289
nfsetsigns 91641
nfsign 1281
nfsign_arch 345772
nfsqr 4745639
nfsqri 672768
nfsqrmodideal 276015
nfsub 1191435
nftrace 23562
nfval 1300327
nfvalrem 64918
num_positive 1434
oksigns 0
oksigns2 0
pl_convert 161
pl_normalize 1267
pol_to_scalar_or_basis 1431056
polmod_nffix 60802
polmod_nffix2 60893
poltobasis 2154040
powp 20104
pr_basis_perm 8344
pr_equal 28
pr_init 2023
principal_units 14112
principal_units_relations 5761
rnfalgtobasis 1176
rnfbasistoalg 35700
rnfeltnorm 231
rnfelttrace 567
sarch_get_F 55241
sarch_get_MI 55241
sarch_get_archp 264461
sarch_get_cyc 49126
sarch_get_lambda 55241
set_sign_mod_divisor 109673
setsigns_init 14319
split_U 25935
sprk_get_L2 199491
sprk_get_U2 188585
sprk_get_cyc 349456
sprk_get_expo 110534
sprk_get_ff 389655
sprk_get_gen 25557
sprk_get_pr 129532
sprk_get_prk 299119
sprk_is_prime 389655
sprkinit 31619
tablemul 0
tablemul_ei 10269
tablemul_ei_ej 16919
tablemulvec 1575
tablesqr 39900
vec01_to_indices 360458
vecmodii 1210102
vecmoduu 0
vecsmall01_to_indices 1267
vzlog_pr 378
zidealij 20769
zidealstar 0
zidealstarinit 0
zidealstarinitgen 0
zkC_multable_mul 129421
zkVchinese1 10983
zk_ei_mul 7369379
zk_embed 393764
zk_inv 39772
zk_modHNF 603064
zk_multable 2989171
zk_scalar_or_multable 1591748
zkadd 0
zkadd1 12187
zkchinese 0
zkchinese1 12187
zkchinese1init2 259
zkchineseinit 10724
zkmul 12187
zkmultable_capZ 379570
zkmultable_inv 419342
zksub 0
zksub1 12187
zlog 247463
zlog_pr 390691
zlog_pr_init 6062

Generated by: LCOV version 1.11