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 17404-c89e0b8) Lines: 2491 2734 91.1 %
Date: 2015-01-30 Functions: 209 225 92.9 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1691 2234 75.7 %

Function Name Sort by function name Hit count Sort by hit count
Fl_2gener_pre_all 3771735
Fl_lgener_pre_all 8241
Fl_order 4753
Fl_powers 104
Fl_powers_pre 958763
Fl_powu 26337205
Fl_powu_pre 15559285
Fl_sqrt 6992650
Fl_sqrt_i 7865412
Fl_sqrt_pre 872762
Fl_sqrtl 0
Fl_sqrtl_i 16070
Fl_sqrtl_pre 16070
Fp_easylog 179727
Fp_factored_order 49
Fp_invmBarrett 6368
Fp_ispower 168
Fp_log 191190
Fp_log_find_ind 42
Fp_log_find_rel 154
Fp_log_halfgcd 56350
Fp_log_index 21
Fp_log_sieve_h 28770
Fp_log_use_index 164196
Fp_order 11002
Fp_pow 2326001
Fp_powers 112
Fp_pows 14336
Fp_powu 957074
Fp_rem_mBarrett 324182
Fp_select_red 295773
Fp_sqrt 1625320
Fp_sqrtn 1715
Qsfcont 3200705
Shanks_order 154
U2_issquare 2373
Up_ispower 252
Up_issquare 4690
ZT_sqr 844449
ZV_allpnqn 1533
ZV_chinese 99130
ZV_chinese_tree 45889
ZV_chinesetree 145019
ZV_invdivexact 145019
ZV_polint_tree 145019
ZV_producttree 145019
ZV_sqr 145019
ZX_nv_mod_tree 57766
Z_ZV_mod 0
Z_ZV_mod_tree 765581
Z_chinese 2142
Z_chinese_all 108055
Z_chinese_coprime 422261
Z_chinese_post 615395
Z_chinese_pre 126577
Z_factor_listP 350651
Z_isanypower 7000560
Z_isanypower_aux 7000560
Z_isanypower_nosmalldiv 864273
Z_isfundamental 14574
Z_ispow2 21534
Z_ispowerall 1064
Z_issquareall 2850105
Z_nv_mod 0
Zn_ispower 280
Zn_issquare 2548
Zp_issquare 0
Zp_order 63
_Fp_add 25180722
_Fp_equal0 1466434
_Fp_inv 60749
_Fp_mul 138236
_Fp_neg 144645
_Fp_one 8
_Fp_pow 480315
_Fp_rand 406
_Fp_red 2635133
_Fp_rmul 26178068
_Fp_s 124981
_Fp_sqr 60
_m2sqr 2445924
_montred 12003049
_mul 833910
_muli2montred 1864491
_muli2red 2445922
_psi 742
_remii 4116044
_remiibar 324182
_sqr 12936290
addifsmooth1 29078
addifsmooth2 205667
bestappr 7837
bestapprPade 63
bestappr_Q 299544
bestappr_RgX 63
bestappr_frac 0
bestappr_real 195447
bestappr_real_max 28
bestappr_ser 49
carremod 8189587
check_kernel 21
chinese 16436
chinese1 35
chinese1_coprime_Z 76560
chinese1_coprime_Z_aux 66550
classno 119
classno2 21
conductor_part 133
contfrac0 49
contfracpnqn 126
corediscfact 147
eps 18431
equal1 518
err_oo 56
err_p 161
err_prec 196
fibo 7
find_order 441
gboundcf 3207276
gcf 0
gcf2 0
gener_Zp 224
get_Fp_field 6715
get_PHI 63
get_forms 112
get_quad 14
gisanypower 7000154
gissquare 0
gissquareall 0
gome 2620111
handle_pe 392
hclassno 4627
hclassno2 14
hilbert 658
hilbertii 53095
icopy_lg 3200416
init_montdata 221009
is_gener_Fl 49633
is_gener_Fp 153
is_gener_expo 33
isfundamental 14021
ispolygonal 1386
ispower 7002107
isprimepower 840091
isprimepower_i 841349
ispseudoprimepower 1258
issquare 142996
issquareall 145460
istotient 70000
istotient_i 621565
krois 528
kroiu 1212815
kronecker 4966532
krosi 28417
kross 65632
kroui 146
krouodd 28563
krouu 23137015
krouu_s 29388393
lcmii 2638057
lift_intmod 420
lift_padic 210
logint 214207
logint0 546
lucas 56
mod_to_frac 35
mod_to_rfrac 56
mpfact 74748
mphilbertoo 9968
mulu_interval 117679
ncV_polint_tree 0
nmV_chinese 0
nmV_polint_tree 0
odd_prime_divisors 34
ok_q 7
ome 36850197
opt_param 21
order 0
pgener_Fl 39906
pgener_Fl_local 49845
pgener_Fp 9520
pgener_Fp_local 10031
pgener_Zl 52
pgener_Zp 56
pnqn 0
polispower 301
polissquareall 1246
qfb_hash 10437
qfb_is_1 1302
qfb_pow 2198
qfbclassno0 133
qfi_comp 9779
quaddisc 7
quadregulator 21
quadunit 7
relative_order 112
remove2 34
rootsof1_Fl 546
rootsof1_Fp 0
rootsof1u_Fp 329
sersfcont 0
sfcont2 14
split_exponent 505708
split_lcm 77
sqr_primeform 2128
sqrt_Cipolla 8
sqrt_Cipolla_msqr 23
sqrt_Cipolla_sqr 449
sqrtint 17189
two_rank 112
u_is_gener_expo 21161
u_odd_prime_divisors 19873
u_remove2 19873
uisprimepower 541188
uissquare 115410
uissquareall 8023994
unegisfundamental 9807
update_f 14
update_g1 77
uposisfundamental 6293
znlog 168
znlog_rec 91
znorder 63
znprimroot 294
znstar 3479

Generated by: LCOV version 1.9