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 16624-25b9976) Lines: 1319 1383 95.4 %
Date: 2014-06-24 Functions: 120 123 97.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 743 866 85.8 %

Function Name Sort by function name Hit count Sort by hit count
Fq_FpXQ_log 224701
Ideallist 255
Idealstar 8562
RgC_to_nfC 21808
RgM_to_nfM 1675
RgV_is_prV 2385
RgX_to_nfX 615
ZC_nfval 8464523
ZC_nfvalrem 8641435
ZC_prdvd 1322
_mul 32700
_mulii 303563775
_sqr 195678
add_grp 8957
algtobasis 12954
apply_U 150782
archstar_full_rk 1200
basistoalg 17485
check_nfelt 118459
coltoalg 11160
concat_join 31385
detcyc 5008
ei_msqr_mod 38677
ei_multable 1778
elt_mulpow_modideal 254950
eval_sign 346339
famat_norm 5
famat_to_nf_modideal_coprime 98902
famat_zlog 90821
get_index 86585
get_tab 7348206
gpnfvalrem 105
ideallist 230
ideallist0 25
ideallistarch 10
ideallog 160772
ideallog_sgn 160772
idealprincipalunits 5
idealstar0 60
increment 2125
indices_to_vec01 2259
init_zlog 86585
init_zlog_bid 78863
is_nf_factor 8562
join_arch 40
join_archunit 20
join_bid 650
join_bid_arch 40
join_ideal 18660
join_idealinit 650
join_unit 635
log_gen_arch 3999
log_gen_pr 5851
log_prk 30
makeprimetoideal 2969
makeprimetoidealvec 740
matalgtobasis 350
matbasistoalg 560
mulbytab 1815
mulmat_pol 907179
multable 320
nfC_nf_mul 144745
nf_log 224701
nf_to_scalar_or_alg 72080
nf_to_scalar_or_basis 4974234
nfadd 16736
nfarchstar 9092
nfdiv 7950
nfdiveuc 190
nfdivrem 190
nfinv 38290
nfinvmodideal 101
nfmod 190
nfmul 115342
nfmuli 316728
nfmulmodideal 433977
nfnorm 7180
nfpow 156531
nfpow_u 3600
nfpowmodideal 294648
nfsign 35
nfsign_arch 421287
nfsqr 7490
nfsqri 461573
nfsqrmodideal 180780
nftrace 30
nfval 229936
nfvalrem 6854
polmod_nffix 1215
polmod_nffix2 1280
poltobasis 831725
pow_ei_mod_p 58577
powp 2804
pr_equal 20
principal_units 5
rnfalgtobasis 820
rnfbasistoalg 1045
rnfeltnorm 160
rnfelttrace 160
set_sign_mod_divisor 48787
sqr_mod 84055
tablemul 0
tablemul_ei 6500
tablemul_ei_ej 835
tablemulvec 320
tablesqr 2155
vec01_to_indices 552847
vecmodii 327562
zidealij 8160
zidealstar 0
zidealstarinit 3512
zidealstarinitgen 0
zk_ei_mul 6561652
zk_multable 2502076
zk_scalar_or_multable 10944466
zlog 78365
zlog_add_sign 219004
zlog_ind 118033
zlog_pk 224701
zlog_units 30
zlog_units_noarch 485
zlog_unitsarch 20
zprimestar 8465

Generated by: LCOV version 1.9