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 17934-aad8e41) Lines: 2542 2756 92.2 %
Date: 2015-08-05 Functions: 214 228 93.9 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1727 2246 76.9 %

Function Name Sort by function name Hit count Sort by hit count
Fl_2gener_pre_all 7692546
Fl_lgener_pre_all 14793
Fl_order 4900
Fl_powers 104
Fl_powers_pre 3619443
Fl_powu 23778060
Fl_powu_pre 30172411
Fl_sqrt 18258516
Fl_sqrt_i 18961896
Fl_sqrt_pre 703380
Fl_sqrtl 0
Fl_sqrtl_i 42221
Fl_sqrtl_pre 42221
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 10990
Fp_pow 2361544
Fp_powers 112
Fp_pows 14343
Fp_powu 991799
Fp_rem_mBarrett 325210
Fp_select_red 312051
Fp_sqrt 1633926
Fp_sqrtn 1715
Qsfcont 2414689
Shanks_order 402114
U2_issquare 2373
Up_ispower 252
Up_issquare 4690
ZT_sqr 862911
ZV_allpnqn 423311
ZV_chinese 99294
ZV_chinese_tree 46005
ZV_chinesetree 145817
ZV_invdivexact 145817
ZV_polint_center_tree 1285958
ZV_polint_tree 1431257
ZV_producttree 145817
ZV_sqr 145817
ZX_nv_mod_tree 57936
Z_ZV_mod 0
Z_ZV_mod_tree 767127
Z_chinese 2142
Z_chinese_all 108055
Z_chinese_coprime 424305
Z_chinese_post 616638
Z_chinese_pre 126605
Z_factor_listP 350651
Z_isanypower 7000581
Z_isanypower_aux 7000581
Z_isanypower_nosmalldiv 864309
Z_isfundamental 14574
Z_ispow2 24995
Z_ispowerall 1085
Z_issquareall 3253826
Z_nv_mod 0
Zn_ispower 280
Zn_issquare 2548
Zp_issquare 0
Zp_order 70
_Fp_add 28820198
_Fp_equal0 1749037
_Fp_inv 79946
_Fp_mul 142014
_Fp_neg 165014
_Fp_one 8
_Fp_pow 485114
_Fp_rand 406
_Fp_red 3134801
_Fp_rmul 30032509
_Fp_s 144119
_Fp_sqr 60
_m2sqr 2487566
_montred 12664447
_mul 866822
_muli2montred 1874610
_muli2red 2487561
_psi 1234
_remii 4223841
_remiibar 325210
_sqr 13613299
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 8672222
check_kernel 42
chinese 16471
chinese1 42
chinese1_coprime_Z 75701
chinese1_coprime_Z_aux 65721
classno 402575
classno2 21
conductor_part 402086
contfrac0 49
contfracpnqn 126
corediscfact 402255
eps 18445
equal1 518
err_oo 56
err_p 161
err_prec 196
fibo 7
find_order 542586
gboundcf 2414484
gcf 0
gcf2 0
gener_Zp 224
get_Fp_field 8011
get_PHI 77
get_forms 402065
get_quad 14
gisanypower 7000161
gissquare 0
gissquareall 0
gome 3029155
handle_pe 392
hclassno 9450
hclassno2 169
hilbert 658
hilbertii 53144
icopy_lg 2414400
init_montdata 234877
is_gener_Fl 53177
is_gener_Fp 113
is_gener_expo 33
isfundamental 14021
ispolygonal 1386
ispower 7002198
isprimepower 840091
isprimepower_i 841535
ispseudoprimepower 1444
issquare 142996
issquareall 145467
istotient 70000
istotient_i 621565
krois 528
kroiu 78097987
kronecker 4971310
krosi 29865
kross 4936339
kroui 110
krouodd 29975
krouu 31877613
krouu_s 119890914
lcmii 2698644
lift_intmod 420
lift_padic 210
logint 214907
logint0 42
lucas 56
mod_to_frac 35
mod_to_rfrac 56
mpfact 457003
mphilbertoo 9982
mulu_interval 328077
ncV_polint_center_tree 10780
nmV_chinese_center 518
nmV_polint_center_tree 518
odd_prime_divisors 35
ok_q 1434
ome 196274080
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 1253
qfbclassno0 140
qfi_Shanks 74867
qfi_comp 4582507
qfi_equal1 1700619
qfi_log 0
qfi_order 253665
qfi_pow 2702234
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 505722
split_lcm 70173
sqr_primeform 7638845
sqrt_Cipolla 8
sqrt_Cipolla_msqr 23
sqrt_Cipolla_sqr 449
sqrtint 20196
two_rank 402065
u_is_gener_expo 21810
u_odd_prime_divisors 20515
u_remove2 20515
uisprimepower 541586
uissquare 115452
uissquareall 8506455
unegisfundamental 10412
update_f 14
update_g1 70173
uposisfundamental 6293
znlog 203
znlog_rec 105
znorder 63
znprimroot 294
znstar 3626

Generated by: LCOV version 1.9