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 17707-04f73e4) Lines: 2499 2739 91.2 %
Date: 2015-03-30 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 3776600
Fl_lgener_pre_all 8239
Fl_order 4879
Fl_powers 104
Fl_powers_pre 959320
Fl_powu 27615572
Fl_powu_pre 15585202
Fl_sqrt 7002295
Fl_sqrt_i 7874714
Fl_sqrt_pre 872419
Fl_sqrtl 0
Fl_sqrtl_i 16080
Fl_sqrtl_pre 16080
Fp_easylog 181238
Fp_factored_order 49
Fp_invmBarrett 6383
Fp_ispower 168
Fp_log 191706
Fp_log_find_ind 84
Fp_log_find_rel 214
Fp_log_halfgcd 61585
Fp_log_index 42
Fp_log_sieve_h 36127
Fp_log_use_index 164731
Fp_order 11022
Fp_pow 2351869
Fp_powers 112
Fp_pows 14343
Fp_powu 980436
Fp_rem_mBarrett 324871
Fp_select_red 303641
Fp_sqrt 1625461
Fp_sqrtn 1715
Qsfcont 2414689
Shanks_order 168
U2_issquare 2373
Up_ispower 252
Up_issquare 4690
ZT_sqr 844812
ZV_allpnqn 423311
ZV_chinese 99212
ZV_chinese_tree 45888
ZV_chinesetree 145100
ZV_invdivexact 145100
ZV_polint_tree 145100
ZV_producttree 145100
ZV_sqr 145100
ZX_nv_mod_tree 57765
Z_ZV_mod 0
Z_ZV_mod_tree 765652
Z_chinese 2142
Z_chinese_all 108055
Z_chinese_coprime 424305
Z_chinese_post 616557
Z_chinese_pre 126577
Z_factor_listP 350651
Z_isanypower 7000560
Z_isanypower_aux 7000560
Z_isanypower_nosmalldiv 864302
Z_isfundamental 14574
Z_ispow2 22444
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 1467321
_Fp_inv 60906
_Fp_mul 142003
_Fp_neg 145974
_Fp_one 8
_Fp_pow 485087
_Fp_rand 406
_Fp_red 2639165
_Fp_rmul 26186709
_Fp_s 125067
_Fp_sqr 60
_m2sqr 2484203
_montred 12398326
_mul 849324
_muli2montred 1871752
_muli2red 2484203
_psi 1234
_remii 4180845
_remiibar 324871
_sqr 13337637
addifsmooth1 36596
addifsmooth2 248990
bestappr 7837
bestapprPade 63
bestappr_Q 299544
bestappr_RgX 63
bestappr_frac 0
bestappr_real 195447
bestappr_real_max 28
bestappr_ser 49
carremod 8661947
check_kernel 42
chinese 16443
chinese1 42
chinese1_coprime_Z 75685
chinese1_coprime_Z_aux 65668
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 6750
get_PHI 77
get_forms 119
get_quad 14
gisanypower 7000154
gissquare 0
gissquareall 0
gome 2620537
handle_pe 392
hclassno 4627
hclassno2 14
hilbert 658
hilbertii 53095
icopy_lg 2414400
init_montdata 227671
is_gener_Fl 53135
is_gener_Fp 127
is_gener_expo 33
isfundamental 14021
ispolygonal 1386
ispower 7002191
isprimepower 840091
isprimepower_i 841527
ispseudoprimepower 1436
issquare 142996
issquareall 145481
istotient 70000
istotient_i 621565
krois 528
kroiu 14222805
kronecker 4966942
krosi 28465
kross 65653
kroui 122
krouodd 28587
krouu 23285215
krouu_s 42547015
lcmii 2695529
lift_intmod 420
lift_padic 210
logint 214727
logint0 42
lucas 56
mod_to_frac 35
mod_to_rfrac 56
mpfact 76038
mphilbertoo 9968
mulu_interval 158785
ncV_polint_tree 0
nmV_chinese 0
nmV_polint_tree 0
odd_prime_divisors 35
ok_q 7
ome 79350051
opt_param 42
order 0
pgener_Fl 40794
pgener_Fl_local 50831
pgener_Fp 9625
pgener_Fp_local 10129
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 21796
u_odd_prime_divisors 20501
u_remove2 20501
uisprimepower 541579
uissquare 115438
uissquareall 8496263
unegisfundamental 9807
update_f 14
update_g1 91
uposisfundamental 6293
znlog 203
znlog_rec 105
znorder 63
znprimroot 294
znstar 3605

Generated by: LCOV version 1.9