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 18603-5baf4f6) Lines: 2565 2776 92.4 %
Date: 2016-02-11 Functions: 224 238 94.1 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1759 2274 77.4 %

Function Name Sort by function name Hit count Sort by hit count
Fl_2gener_pre_all 8120106
Fl_lgener_pre_all 15450
Fl_order 4907
Fl_powers 104
Fl_powers_pre 3607438
Fl_powu 24556913
Fl_powu_pre 31876433
Fl_sqrt 19256016
Fl_sqrt_i 19973873
Fl_sqrt_pre 718485
Fl_sqrtl 0
Fl_sqrtl_i 43168
Fl_sqrtl_pre 43168
Fp_easylog 216690
Fp_factored_order 56
Fp_invmBarrett 6384
Fp_ispower 168
Fp_log 203271
Fp_log_find_ind 98
Fp_log_find_rel 264
Fp_log_halfgcd 62910
Fp_log_index 49
Fp_log_sieve_h 36862
Fp_log_use_index 190238
Fp_order 11143
Fp_pow 2468714
Fp_powers 112
Fp_pows 20965
Fp_powu 1013959
Fp_rem_mBarrett 325210
Fp_select_red 310009
Fp_sqrt 1642926
Fp_sqrtn 1813
Hspec 36750
Qsfcont 2473629
Shanks_order 429939
U2_issquare 2373
Up_ispower 252
Up_issquare 4690
ZT_sqr 909838
ZV_allpnqn 481670
ZV_chinese 103273
ZV_chinese_tree 46293
ZV_chinesetree 151053
ZV_invdivexact 151053
ZV_polint_center_tree 1294359
ZV_polint_tree 1430652
ZV_producttree 151053
ZV_sqr 151053
ZX_nv_mod_tree 58348
Z_ZV_mod 0
Z_ZV_mod_tree 773628
Z_chinese 2142
Z_chinese_all 366240
Z_chinese_coprime 442995
Z_chinese_post 901360
Z_chinese_pre 384839
Z_factor_listP 350651
Z_isanypower 7000658
Z_isanypower_aux 7000658
Z_isanypower_nosmalldiv 864337
Z_isfundamental 14889
Z_ispow2 25789
Z_ispowerall 1085
Z_issquareall 3346919
Z_nv_mod 0
Zn_ispower 280
Zn_issquare 2548
Zp_issquare 0
Zp_order 70
_Fp_add 944352
_Fp_equal0 526253
_Fp_inv 18323
_Fp_mul 164949
_Fp_neg 103113
_Fp_one 8
_Fp_pow 611807
_Fp_rand 413
_Fp_red 935783
_Fp_rmul 1181019
_Fp_s 82540
_Fp_sqr 60
_m2sqr 1148344
_montred 12660951
_mul 1486687
_muli2montred 768573
_muli2red 1148344
_psi 1367
_remii 4145479
_remiibar 325210
_sqr 14255012
addifsmooth1 37401
addifsmooth2 253358
bestappr 7954
bestapprPade 63
bestappr_Q 293413
bestappr_RgX 63
bestappr_frac 0
bestappr_real 199621
bestappr_real_max 28
bestappr_ser 49
carremod 8748213
check_kernel 49
chinese 16520
chinese1 49
chinese1_coprime_Z 100807
chinese1_coprime_Z_aux 73260
chinese_intpol 21
classno 430435
classno2 21
conductor_part 429911
contfrac0 49
contfracpnqn 126
corediscfact 470106
eps 18445
equal1 518
err_oo 56
err_p 161
err_prec 196
fibo 7
find_order 580001
gboundcf 2473424
gc_chinese 151053
gcf 0
gcf2 0
gen_chinese 100856
gener_Zp 287
geomsum 6083
get_Fp_field 4557
get_PHI 84
get_forms 429890
get_quad 14
gisanypower 7000161
gissquare 0
gissquareall 0
gome 3127645
handle_pe 392
hclassno 48895
hclassno2 3445
hilbert 658
hilbertii 53144
icopy_lg 2473340
init_montdata 235327
is_gener_Fl 53102
is_gener_Fp 151
is_gener_expo 33
isfundamental 14329
ispolygonal 1386
ispower 7002198
isprimepower 840098
isprimepower_i 841541
ispseudoprimepower 1443
issquare 142996
issquareall 145621
istotient 70000
istotient_i 621565
krois 26656
kroiu 84467364
kronecker 5007726
krosi 28739
kross 5108639
kroui 142
krouodd 28881
krouu 32129070
krouu_s 126816201
lcmii 3169787
lift_intmod 420
lift_padic 210
logint 333305
logint0 42
lucas 56
mod_to_frac 35
mod_to_rfrac 56
mpfact 1948366
mphilbertoo 9982
muls_interval 161
mulu_interval 833321
myh 36750
ncV_chinese_center 934
ncV_polint_center_tree 12024
nmV_chinese_center 553
nmV_polint_center_tree 553
nmV_polint_center_tree_worker 11090
odd_prime_divisors 35
ok_q 1539
ome 204425307
opt_param 49
order 0
pgener_Fl 42005
pgener_Fl_local 49186
pgener_Fp 6902
pgener_Fp_local 7462
pgener_Zl 3580
pgener_Zp 3584
pnqn 0
polispower 329
polissquareall 1386
qfb_equal1 1779929
qfbclassno0 140
qfi_Shanks 76022
qfi_comp 4832022
qfi_log 0
qfi_order 258005
qfi_pow 2844054
quaddisc 7
quadregulator 21
quadunit 7
ramanujantau 7007
relative_order 112
remove2 35
rootsof1_Fl 637
rootsof1_Fp 0
rootsof1u_Fp 329
sersfcont 0
sfcont2 14
split_exponent 505729
split_lcm 74968
sqr_primeform 8167485
sqrt_Cipolla 8
sqrt_Cipolla_msqr 23
sqrt_Cipolla_sqr 449
sqrtint 31956
tauprime 14889
two_rank 429890
u_is_gener_expo 21369
u_odd_prime_divisors 20130
u_remove2 20130
uisprimepower 541586
uissquare 115361
uissquareall 8582546
unegisfundamental 10566
update_f 14
update_g1 74968
uposisfundamental 6495
znlog 210
znlog_rec 112
znorder 63
znprimroot 357

Generated by: LCOV version 1.9