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 21505-505a0e1) Lines: 1586 1688 94.0 %
Date: 2017-12-17 06:20:46 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 26509
Idealstar_i 26782
Idealstarprk 273
Q_mod_bid 7
RgC_to_nfC 75866
RgM_RgX_mul 1330
RgM_to_nfM 8351
RgX_to_nfX 5202
ZC_add1 6265
ZC_nfval 4831303
ZC_nfvalrem 5068187
ZC_prdvd 242137
ZC_sub1 3766
ZMV_ZCV_mul 311779
ZM_ZMV_mul 518
ZM_ZX_mul 2301764
_mul 28092
_mulii 386995603
_nf_add 9315719
_nf_inv 41454
_nf_mul 11276811
_nf_neg 569926
_nf_red 2394084
_nf_s 8246
_sqr 104689
algtobasis 153801
apply_U 355941
basistoalg 86772
bid_grp 27076
check_nfelt 181292
chineseinit_i 2142
chk_ind 18557
coltoalg 77938
concat_join 86065
ei_multable 2275
eval_sign 310569
eval_sign_embed 382438
famat_norm 7
famat_strip2 26761
famat_to_nf_modideal_coprime 192119
famat_zlog 113215
famat_zlog_pr 110275
get_C 55241
get_nf_field 177240
get_tab 9562971
gpnfvalrem 147
idealchinese 3654
ideallist 2842
ideallist0 350
ideallistarch 14
ideallog 285501
ideallog_i 313375
ideallog_sgn 300201
idealprincipalunits 112
idealprincipalunits_i 14133
idealstar0 63
indices_to_vec01 4830
init_zlog 352204
is_chineseinit 4963
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 226448
matalgtobasis 2660
matbasistoalg 1260
mulbytab 7385
multable 1610
nfC_multable_mul 49861
nfC_nf_mul 164549
nfM_det 14
nfM_inv 8232
nfM_mul 8036
nfM_nfC_mul 160958
nf_log 386694
nf_to_scalar_or_alg 181765
nf_to_scalar_or_basis 81482596
nfadd 15574895
nfarchstar 28137
nfchecksigns 560
nfchecksigns_i 63399
nfdiv 18298
nfdiveuc 259
nfdivrem 259
nfeltembed 4893
nfeltsign 770
nfembed 1610
nfembed_i 10031
nfinv 63602
nfinvmodideal 147
nfmod 259
nfmul 20574791
nfmuli 1583970
nfmulmodideal 735403
nfmulpowmodideal 423466
nfnorm 24616
nfpow 101282
nfpow_u 45703
nfpowmodideal 476610
nfsetsigns 91690
nfsign 1309
nfsign_arch 345744
nfsqr 4745681
nfsqri 671120
nfsqrmodideal 276148
nfsub 1191645
nftrace 23555
nfval 1301384
nfvalrem 64925
num_positive 1434
oksigns 0
oksigns2 0
pl_convert 203
pl_normalize 1316
pol_to_scalar_or_basis 1439736
polmod_nffix 61278
polmod_nffix2 61369
poltobasis 2144937
powp 20104
pr_basis_perm 8344
pr_equal 28
pr_init 2079
principal_units 14133
principal_units_relations 5768
rnfalgtobasis 1176
rnfbasistoalg 36134
rnfeltnorm 231
rnfelttrace 567
sarch_get_F 55241
sarch_get_MI 55241
sarch_get_archp 264615
sarch_get_cyc 49245
sarch_get_lambda 55241
set_sign_mod_divisor 109729
setsigns_init 14368
split_U 26019
sprk_get_L2 198252
sprk_get_U2 187346
sprk_get_cyc 348070
sprk_get_expo 110275
sprk_get_ff 386694
sprk_get_gen 25613
sprk_get_pr 129273
sprk_get_prk 297621
sprk_is_prime 386694
sprkinit 31675
tablemul 0
tablemul_ei 10269
tablemul_ei_ej 16926
tablemulvec 1610
tablesqr 39914
vec01_to_indices 360444
vecmodii 1201695
vecmoduu 94899
vecsmall01_to_indices 1316
vzlog_pr 378
zidealij 20797
zidealstar 0
zidealstarinit 0
zidealstarinitgen 0
zkC_multable_mul 129155
zkVchinese1 11011
zk_ei_mul 7278425
zk_embed 393715
zk_inv 39828
zk_modHNF 602574
zk_multable 2960224
zk_scalar_or_multable 1582722
zkadd 0
zkadd1 12215
zkchinese 0
zkchinese1 12215
zkchinese1init2 259
zkchineseinit 10752
zkmul 12215
zkmultable_capZ 377386
zkmultable_inv 417214
zksub 0
zksub1 12215
zlog 244985
zlog_pr 387730
zlog_pr_init 6062

Generated by: LCOV version 1.11