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 - arith1.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 17774-15dbd24) Lines: 2499 2739 91.2 %
Date: 2015-04-26 Functions: 209 225 92.9 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1706 2242 76.1 %

Function Name Sort by function name Hit count Sort by hit count
Fl_2gener_pre_all 3776610
Fl_lgener_pre_all 8239
Fl_order 4900
Fl_powers 104
Fl_powers_pre 959320
Fl_powu 27711774
Fl_powu_pre 15594916
Fl_sqrt 7002237
Fl_sqrt_i 7874656
Fl_sqrt_pre 872419
Fl_sqrtl 0
Fl_sqrtl_i 16080
Fl_sqrtl_pre 16080
Fp_easylog 181249
Fp_factored_order 49
Fp_invmBarrett 6384
Fp_ispower 168
Fp_log 191706
Fp_log_find_ind 84
Fp_log_find_rel 214
Fp_log_halfgcd 62565
Fp_log_index 42
Fp_log_sieve_h 36127
Fp_log_use_index 164731
Fp_order 11022
Fp_pow 2351921
Fp_powers 112
Fp_pows 14343
Fp_powu 980447
Fp_rem_mBarrett 325210
Fp_select_red 303644
Fp_sqrt 1625463
Fp_sqrtn 1715
Qsfcont 2414689
Shanks_order 168
U2_issquare 2373
Up_ispower 252
Up_issquare 4690
ZT_sqr 848266
ZV_allpnqn 423311
ZV_chinese 99207
ZV_chinese_tree 45893
ZV_chinesetree 145100
ZV_invdivexact 145100
ZV_polint_tree 145100
ZV_producttree 145100
ZV_sqr 145100
ZX_nv_mod_tree 57775
Z_ZV_mod 0
Z_ZV_mod_tree 765697
Z_chinese 2142
Z_chinese_all 108055
Z_chinese_coprime 424305
Z_chinese_post 616610
Z_chinese_pre 126577
Z_factor_listP 350651
Z_isanypower 7000560
Z_isanypower_aux 7000560
Z_isanypower_nosmalldiv 864302
Z_isfundamental 14574
Z_ispow2 22482
Z_ispowerall 1085
Z_issquareall 2850252
Z_nv_mod 0
Zn_ispower 280
Zn_issquare 2548
Zp_issquare 0
Zp_order 70
_Fp_add 25188318
_Fp_equal0 1467357
_Fp_inv 60906
_Fp_mul 142014
_Fp_neg 145974
_Fp_one 8
_Fp_pow 485123
_Fp_rand 406
_Fp_red 2639201
_Fp_rmul 26186709
_Fp_s 125079
_Fp_sqr 60
_m2sqr 2484767
_montred 12398749
_mul 849343
_muli2montred 1872221
_muli2red 2484769
_psi 1234
_remii 4180851
_remiibar 325210
_sqr 13338158
addifsmooth1 36596
addifsmooth2 248990
bestappr 7837
bestapprPade 63
bestappr_Q 299544
bestappr_RgX 63
bestappr_frac 0
bestappr_real 195607
bestappr_real_max 28
bestappr_ser 49
carremod 8661947
check_kernel 42
chinese 16443
chinese1 42
chinese1_coprime_Z 75701
chinese1_coprime_Z_aux 65721
classno 126
classno2 21
conductor_part 140
contfrac0 49
contfracpnqn 126
corediscfact 154
eps 18431
equal1 518
err_oo 56
err_p 161
err_prec 196
fibo 7
find_order 476
gboundcf 2414484
gcf 0
gcf2 0
gener_Zp 224
get_Fp_field 6751
get_PHI 77
get_forms 119
get_quad 14
gisanypower 7000154
gissquare 0
gissquareall 0
gome 2620535
handle_pe 392
hclassno 4627
hclassno2 14
hilbert 658
hilbertii 53095
icopy_lg 2414400
init_montdata 227671
is_gener_Fl 53177
is_gener_Fp 127
is_gener_expo 33
isfundamental 14021
ispolygonal 1386
ispower 7002191
isprimepower 840091
isprimepower_i 841539
ispseudoprimepower 1448
issquare 142996
issquareall 145481
istotient 70000
istotient_i 621565
krois 528
kroiu 14222805
kronecker 4966956
krosi 28465
kross 65653
kroui 122
krouodd 28587
krouu 23250731
krouu_s 42512545
lcmii 2697258
lift_intmod 420
lift_padic 210
logint 214725
logint0 42
lucas 56
mod_to_frac 35
mod_to_rfrac 56
mpfact 433887
mphilbertoo 9968
mulu_interval 304977
ncV_polint_tree 0
nmV_chinese 0
nmV_polint_tree 0
odd_prime_divisors 35
ok_q 7
ome 79290391
opt_param 42
order 0
pgener_Fl 40815
pgener_Fl_local 50873
pgener_Fp 9646
pgener_Fp_local 10150
pgener_Zl 52
pgener_Zp 56
pnqn 0
polispower 329
polissquareall 1260
qfb_hash 329378
qfb_is_1 1421
qfb_pow 2362
qfbclassno0 140
qfi_comp 328692
quaddisc 7
quadregulator 21
quadunit 7
relative_order 112
remove2 35
rootsof1_Fl 546
rootsof1_Fp 0
rootsof1u_Fp 322
sersfcont 0
sfcont2 14
split_exponent 505708
split_lcm 91
sqr_primeform 2261
sqrt_Cipolla 8
sqrt_Cipolla_msqr 23
sqrt_Cipolla_sqr 449
sqrtint 17221
two_rank 119
u_is_gener_expo 21810
u_odd_prime_divisors 20515
u_remove2 20515
uisprimepower 541586
uissquare 115438
uissquareall 8496256
unegisfundamental 9807
update_f 14
update_g1 91
uposisfundamental 6293
znlog 203
znlog_rec 105
znorder 63
znprimroot 294
znstar 3626

Generated by: LCOV version 1.9