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.8.0 lcov report (development 19614-52e089f) Lines: 1314 1391 94.5 %
Date: 2016-09-28 05:54:17 Functions: 140 147 95.2 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Fq_FpXQ_log 300743
Ideallist 350
Idealstar 7553
Idealstar_i 13440
Idealstarprk 6167
RgC_to_nfC 38254
RgM_to_nfM 3276
RgX_to_nfX 2633
ZC_add1 3640
ZC_nfval 4814822
ZC_nfvalrem 5025792
ZC_prdvd 201859
ZC_sub1 1631
_mul 30380
_mulii 405518860
_nf_add 1511958
_nf_inv 6020
_nf_mul 1794086
_nf_neg 86359
_nf_red 346962
_nf_s 1358
_sqr 103778
add_grp 13734
algtobasis 65517
apply_U 223381
basistoalg 52451
check_nfelt 143613
coltoalg 49398
concat_join 43414
ei_multable 4375
elt_mulpow_modideal 326635
eval_sign 378751
famat_norm 7
famat_to_nf_modideal_coprime 113193
famat_zlog 95697
get_index 13734
get_nf_field 24920
get_tab 10626039
gpnfvalrem 147
ideallist 322
ideallist0 28
ideallistarch 14
ideallog 207076
ideallog_sgn 200370
idealprincipalunits 238
idealstar0 350
indices_to_vec01 4452
init_zlog 130818
init_zlog_bid 118981
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 6272
log_gen_pr 9989
log_prk 630
matalgtobasis 1771
matbasistoalg 833
mulbytab 3339
mulmat_pol 1445034
multable 742
nfC_multable_mul 24728
nfC_nf_mul 76327
nfM_det 14
nfM_inv 1344
nfM_mul 1260
nfM_nfC_mul 22302
nf_log 300743
nf_to_scalar_or_alg 85849
nf_to_scalar_or_basis 18717263
nfadd 1617399
nfchecksigns 1113
nfdiv 10962
nfdiveuc 259
nfdivrem 259
nfembed 1568
nfembed_i 287
nfinv 61495
nfinvmodideal 364
nfmod 259
nfmul 4276114
nfmuli 607898
nfmulmodideal 603249
nfnorm 21186
nfpow 119403
nfpow_u 31234
nfpowmodideal 386695
nfsign 378
nfsign_arch 525475
nfsqr 601835
nfsqri 652940
nfsqrmodideal 282307
nfsub 68789
nftrace 42
nfval 1319976
nfvalrem 15351
polmod_nffix 60529
polmod_nffix2 60620
poltobasis 1304518
powp 4333
pr_equal 28
principal_units 238
rnfalgtobasis 1176
rnfbasistoalg 35637
rnfeltnorm 231
rnfelttrace 567
set_sign_mod_divisor 87444
tablemul 0
tablemul_ei 3255
tablemul_ei_ej 2492
tablemulvec 742
tablesqr 6230
vec01_to_indices 532468
vecmodii 415398
vecsmall01_to_indices 595
zidealij 13482
zidealstar 0
zidealstarinit 0
zidealstarinitgen 0
zkC_multable_mul 113490
zkVchinese1 518
zk_ei_mul 9355093
zk_inv 19120
zk_modHNF 572131
zk_multable 3817119
zk_scalar_or_multable 7995339
zkadd 0
zkadd1 4410
zkchinese 0
zkchinese1 4410
zkchinese1init2 259
zkchineseinit 2646
zkmul 4410
zkmultable_capZ 314581
zkmultable_inv 333701
zksub 0
zksub1 4410
zlog 117147
zlog_add_sign 289186
zlog_ind 176563
zlog_pk 300743
zlog_units 434
zlog_unitsarch 28
zprimestar 13181

Generated by: LCOV version 1.11