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-bordeaux1.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 17097-9391e68) Lines: 1317 1382 95.3 %
Date: 2014-11-21 Functions: 120 123 97.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 739 862 85.7 %

Function Name Sort by function name Hit count Sort by hit count
Fq_FpXQ_log 189098
Ideallist 245
Idealstar 8465
RgC_to_nfC 21625
RgM_to_nfM 1610
RgV_is_prV 2395
RgX_to_nfX 1175
ZC_nfval 1179927
ZC_nfvalrem 1328994
ZC_prdvd 1305
_mul 31219
_mulii 298225333
_sqr 184922
add_grp 8675
algtobasis 13445
apply_U 140140
archstar_full_rk 1205
basistoalg 16590
check_nfelt 87746
coltoalg 11470
concat_join 30600
detcyc 5065
ei_msqr_mod 40040
ei_multable 1810
elt_mulpow_modideal 217552
eval_sign 268562
famat_norm 5
famat_to_nf_modideal_coprime 79922
famat_zlog 69831
get_index 70695
get_tab 5862603
gpnfvalrem 105
ideallist 225
ideallist0 20
ideallistarch 10
ideallog 124136
ideallog_sgn 124136
idealprincipalunits 5
idealstar0 50
increment 2140
indices_to_vec01 2300
init_zlog 70695
init_zlog_bid 63070
is_nf_factor 8465
join_arch 40
join_archunit 20
join_bid 340
join_bid_arch 40
join_ideal 18545
join_idealinit 340
join_unit 325
log_gen_arch 4055
log_gen_pr 6020
log_prk 30
makeprimetoideal 2660
makeprimetoidealvec 370
matalgtobasis 345
matbasistoalg 535
mulbytab 1715
mulmat_pol 760659
multable 300
nfC_nf_mul 123481
nf_log 189098
nf_to_scalar_or_alg 72645
nf_to_scalar_or_basis 4239356
nfadd 16835
nfarchstar 9040
nfdiv 8210
nfdiveuc 185
nfdivrem 185
nfinv 38295
nfinvmodideal 100
nfmod 185
nfmul 121284
nfmuli 304290
nfmulmodideal 391496
nfnorm 7175
nfpow 142563
nfpow_u 3485
nfpowmodideal 257797
nfsign 35
nfsign_arch 356174
nfsqr 8090
nfsqri 450342
nfsqrmodideal 178415
nftrace 30
nfval 213535
nfvalrem 6885
polmod_nffix 1215
polmod_nffix2 1280
poltobasis 670538
pow_ei_mod_p 58170
powp 2720
pr_equal 20
principal_units 5
rnfalgtobasis 820
rnfbasistoalg 1045
rnfeltnorm 160
rnfelttrace 160
set_sign_mod_divisor 57675
sqr_mod 85940
tablemul 0
tablemul_ei 5920
tablemul_ei_ej 755
tablemulvec 300
tablesqr 2075
vec01_to_indices 481004
vecmodii 254507
zidealij 8235
zidealstar 0
zidealstarinit 3535
zidealstarinitgen 0
zk_ei_mul 5100246
zk_multable 2041548
zk_scalar_or_multable 3188281
zlog 62365
zlog_add_sign 182786
zlog_ind 102580
zlog_pk 189098
zlog_units 25
zlog_units_noarch 285
zlog_unitsarch 20
zprimestar 8415

Generated by: LCOV version 1.9