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 20091-343fe20) Lines: 1554 1660 93.6 %
Date: 2017-01-20 05:50:06 Functions: 176 186 94.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Ideallist 350
Idealstar 6503
Idealstar_i 6440
Idealstarprk 266
Q_mod_bid 7
RgC_to_nfC 36792
RgM_to_nfM 3143
RgX_to_nfX 2360
ZC_add1 2688
ZC_nfval 4822339
ZC_nfvalrem 5046245
ZC_prdvd 202608
ZC_sub1 1540
ZMV_ZCV_mul 226925
ZM_ZMV_mul 518
_mul 25511
_mulii 350812062
_nf_add 1498665
_nf_inv 5572
_nf_mul 1768298
_nf_neg 84315
_nf_red 331079
_nf_s 1253
_sqr 92934
algtobasis 95414
apply_U 277205
basistoalg 92785
bid_grp 6734
check_nfelt 144374
chineseinit_i 2079
chk_ind 1680
coltoalg 89586
concat_join 43414
ei_multable 392
eval_sign 304836
eval_sign_embed 373009
famat_norm 7
famat_strip2 6419
famat_to_nf_modideal_coprime 141705
famat_zlog 108182
famat_zlog_pr 104500
get_C 44944
get_nf_field 23324
get_tab 8587756
gpnfvalrem 147
idealchinese 3514
ideallist 0
ideallist0 350
ideallistarch 14
ideallog 226162
ideallog_i 228507
ideallog_sgn 223943
idealprincipalunits 112
idealprincipalunits_i 8498
idealstar0 392
indices_to_vec01 4809
init_zlog 231384
is_chineseinit 4788
isprfact 2016
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 6230
log_gen_pr 10346
log_prk1 173360
matalgtobasis 2457
matbasistoalg 840
mulbytab 3248
mulmat_pol 1812997
multable 721
nfC_multable_mul 24484
nfC_nf_mul 73675
nfM_det 14
nfM_inv 1239
nfM_mul 1148
nfM_nfC_mul 20923
nf_log 268492
nf_to_scalar_or_alg 112391
nf_to_scalar_or_basis 16309587
nfadd 1607557
nfarchstar 7795
nfchecksigns 511
nfchecksigns_i 59633
nfdiv 20076
nfdiveuc 259
nfdivrem 259
nfeltembed 56
nfeltsign 770
nfembed 1589
nfembed_i 56
nfinv 60277
nfinvmodideal 126
nfmod 259
nfmul 3652400
nfmuli 605001
nfmulmodideal 636660
nfmulpowmodideal 354074
nfnorm 20394
nfpow 116136
nfpow_u 31990
nfpowmodideal 396977
nfsetsigns 69276
nfsign 518
nfsign_arch 315959
nfsqr 583159
nfsqri 577166
nfsqrmodideal 269660
nfsub 70980
nftrace 42
nfval 1320942
nfvalrem 15351
num_positive 1434
oksigns 0
oksigns2 0
pl_convert 161
pl_normalize 1267
polmod_nffix 60697
polmod_nffix2 60788
poltobasis 1680563
powp 4333
pr_basis_perm 2478
pr_equal 28
pr_init 2016
principal_units 8498
principal_units_relations 3822
rnfalgtobasis 1176
rnfbasistoalg 35700
rnfeltnorm 231
rnfelttrace 567
sarch_get_F 44944
sarch_get_MI 44944
sarch_get_archp 205528
sarch_get_cyc 12019
sarch_get_lambda 44944
set_sign_mod_divisor 76780
setsigns_init 5695
split_U 5677
sprk_get_L2 141902
sprk_get_U2 138864
sprk_get_cyc 254375
sprk_get_expo 104500
sprk_get_ff 268492
sprk_get_gen 5894
sprk_get_pr 109764
sprk_get_prk 243364
sprk_is_prime 268492
sprkinit 11956
tablemul 0
tablemul_ei 3234
tablemul_ei_ej 2345
tablemulvec 721
tablesqr 5432
vec01_to_indices 322000
vecmodii 647972
vecsmall01_to_indices 1267
vzlog_pr 378
zidealij 12971
zidealstar 0
zidealstarinit 0
zidealstarinitgen 0
zkC_multable_mul 111102
zkVchinese1 2457
zk_ei_mul 7399632
zk_embed 384300
zk_inv 27559
zk_modHNF 562050
zk_multable 3023752
zk_scalar_or_multable 1944285
zkadd 0
zkadd1 3192
zkchinese 0
zkchinese1 3192
zkchinese1init2 259
zkchineseinit 2198
zkmul 3192
zkmultable_capZ 331501
zkmultable_inv 359060
zksub 0
zksub1 3192
zlog 160215
zlog_pr 269528
zlog_pr_init 6062

Generated by: LCOV version 1.11