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 16624-25b9976) Lines: 2277 2538 89.7 %
Date: 2014-06-24 Functions: 192 202 95.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1567 2142 73.2 %

Function Name Sort by function name Hit count Sort by hit count
Fl_2gener_pre_all 2262060
Fl_lgener_pre_all 0
Fl_order 2105
Fl_powu 41158039
Fl_powu_pre 7095349
Fl_sqrt 3676454
Fl_sqrt_i 3676464
Fl_sqrt_pre 10
Fl_sqrtl 0
Fl_sqrtl_i 0
Fl_sqrtl_pre 0
Fp_easylog 150685
Fp_factored_order 35
Fp_invmBarrett 6360
Fp_ispower 120
Fp_log 168988
Fp_log_find_ind 20
Fp_log_find_rel 60
Fp_log_halfgcd 39695
Fp_log_index 10
Fp_log_sieve_h 15710
Fp_log_use_index 139685
Fp_order 4379
Fp_pow 1687150
Fp_pows 10240
Fp_powu 2695206
Fp_rem_mBarrett 323014
Fp_select_red 192804
Fp_sqrt 1156004
Fp_sqrtn 934
Qsfcont 1414645
Shanks_order 115
U2_issquare 1695
Up_ispower 170
Up_issquare 3350
ZV_allpnqn 325
Z_chinese 1420
Z_chinese_all 71870
Z_chinese_coprime 294280
Z_chinese_post 429994
Z_chinese_pre 84964
Z_factor_listP 250465
Z_isanypower 5001235
Z_isanypower_aux 5001235
Z_isanypower_nosmalldiv 618016
Z_isfundamental 10415
Z_ispow2 85
Z_ispowerall 505
Z_issquareall 2035775
Zn_ispower 190
Zn_issquare 1820
Zp_issquare 0
Zp_order 50
_Fp_add 26071995
_Fp_equal0 1644487
_Fp_inv 94698
_Fp_mul 77552
_Fp_neg 519267
_Fp_pow 374966
_Fp_rand 236
_Fp_red 6351625
_Fp_rmul 27223489
_Fp_s 529304
_m2sqr 1455561
_montred 7621079
_mul 539234
_muli2montred 1119792
_muli2red 1455561
_psi 365
_remii 2183614
_remiibar 323014
_sqr 7986129
addifsmooth1 15855
addifsmooth2 109450
bestappr 2541
bestapprPade 45
bestappr_Q 224882
bestappr_RgX 45
bestappr_frac 0
bestappr_real 145451
bestappr_real_max 20
bestappr_ser 35
carremod 5912435
check_kernel 10
chinese 11714
chinese1 25
chinese1_coprime_Z 62328
chinese1_coprime_Z_aux 50745
classno 95
classno2 30
conductor_part 115
contfrac0 185
contfracpnqn 100
corediscfact 125
eps 13159
equal1 370
err_oo 40
err_p 115
err_prec 140
fibo 10
find_order 320
gboundcf 1415595
gcf 5
gcf2 5
gener_Zp 255
get_Fp_field 10333
get_PHI 45
get_forms 85
get_quad 20
gisanypower 5000110
gissquare 0
gissquareall 0
gome 1643750
handle_pe 270
hclassno 10
hclassno2 10
hilbert 480
hilbertii 37899
icopy_lg 1414480
init_montdata 146783
is_char_2 382500
is_gener_Fl 24006
is_gener_Fp 91
is_gener_expo 21
isfundamental 10020
ispolygonal 990
ispower 5001145
isprimepower 600065
issquare 102040
issquareall 103010
istotient 50000
istotient_i 443975
krois 481
kroiu 855968
kronecker 3371986
krosi 19794
kross 46600
krouu 11269629
krouu_s 15549082
lcmii 1827808
lift_intmod 310
lift_padic 150
logint 40912
logint0 365
lucas 80
mod_to_frac 25
mod_to_rfrac 40
mpfact 40619
mphilbertoo 7114
mulu_interval 71229
odd_prime_divisors 26
ok_q 5
ome 14582178
opt_param 10
order 5
pgener_Fl 22012
pgener_Fl_local 27325
pgener_Fp 6351
pgener_Fp_local 6703
pgener_Zl 36
pgener_Zp 40
pnqn 10
polispower 40
polissquareall 835
qfb_hash 7535
qfb_is_1 945
qfb_pow 1605
qfbclassno0 95
qfi_comp 7055
quaddisc 10
quadregulator 30
quadunit 10
relative_order 80
remove2 26
rootsof1_Fl 165
rootsof1_Fp 0
rootsof1u_Fp 219
sersfcont 0
sfcont2 15
split_exponent 361220
split_lcm 55
sqr_primeform 1615
sqrt_Cipolla 6
sqrt_Cipolla_msqr 17
sqrt_Cipolla_sqr 329
sqrtint 13861
two_rank 85
u_is_gener_expo 10884
u_odd_prime_divisors 10989
u_remove2 10989
uisprimepower 380043
uissquare 82109
uissquareall 5793347
unegisfundamental 6419
update_f 20
update_g1 55
uposisfundamental 4399
znlog 120
znlog_rec 65
znorder 50
znprimroot 300
znstar 2050

Generated by: LCOV version 1.9