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 16746-c2cb716) Lines: 2285 2552 89.5 %
Date: 2014-08-31 Functions: 194 204 95.1 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1569 2156 72.8 %

Function Name Sort by function name Hit count Sort by hit count
Fl_2gener_pre_all 2297444
Fl_lgener_pre_all 0
Fl_order 2105
Fl_powu 39892149
Fl_powu_pre 7192901
Fl_sqrt 3753478
Fl_sqrt_i 3753488
Fl_sqrt_pre 10
Fl_sqrtl 0
Fl_sqrtl_i 0
Fl_sqrtl_pre 0
Fp_easylog 150651
Fp_factored_order 35
Fp_invmBarrett 6357
Fp_ispower 120
Fp_log 168987
Fp_log_find_ind 30
Fp_log_find_rel 110
Fp_log_halfgcd 41090
Fp_log_index 15
Fp_log_sieve_h 20550
Fp_log_use_index 139620
Fp_order 4424
Fp_pow 1699112
Fp_pows 10240
Fp_powu 2621907
Fp_rem_mBarrett 322063
Fp_select_red 204969
Fp_sqrt 1153759
Fp_sqrtn 930
Qsfcont 1414645
Shanks_order 115
U2_issquare 1695
Up_ispower 170
Up_issquare 3350
ZV_allpnqn 325
Z_chinese 1420
Z_chinese_all 77564
Z_chinese_coprime 294280
Z_chinese_post 435722
Z_chinese_pre 90694
Z_factor_listP 250465
Z_isanypower 5001235
Z_isanypower_aux 5001235
Z_isanypower_nosmalldiv 618016
Z_isfundamental 10415
Z_ispow2 14703
Z_ispowerall 505
Z_issquareall 2035585
Zn_ispower 190
Zn_issquare 1820
Zp_issquare 0
Zp_order 50
_Fp_add 26072042
_Fp_equal0 1644356
_Fp_inv 94698
_Fp_mul 77474
_Fp_neg 519267
_Fp_pow 374757
_Fp_rand 235
_Fp_red 6351560
_Fp_rmul 27223569
_Fp_s 529244
_m2sqr 1644131
_montred 7977235
_mul 551472
_muli2montred 1270852
_muli2red 1644131
_psi 530
_remii 2267074
_remiibar 322063
_sqr 8214106
addifsmooth1 20770
addifsmooth2 146905
bestappr 2437
bestapprPade 45
bestappr_Q 181825
bestappr_RgX 45
bestappr_frac 0
bestappr_real 122963
bestappr_real_max 20
bestappr_ser 35
carremod 5809697
check_kernel 15
chinese 11750
chinese1 25
chinese1_coprime_Z 62318
chinese1_coprime_Z_aux 50743
classno 95
classno2 30
conductor_part 115
contfrac0 185
contfracpnqn 100
corediscfact 125
eps 13165
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 10332
get_PHI 45
get_forms 85
get_quad 20
gisanypower 5000110
gissquare 0
gissquareall 0
gome 1869083
handle_pe 270
hclassno 10
hclassno2 10
hilbert 480
hilbertii 37935
icopy_lg 1414480
init_montdata 156663
is_char_2 382500
is_gener_Fl 23954
is_gener_Fp 95
is_gener_expo 25
isfundamental 10020
ispolygonal 990
ispower 5001145
isprimepower 600065
issquare 102130
issquareall 103100
istotient 50000
istotient_i 443975
krois 357
kroiu 856008
kronecker 3533951
krosi 19271
kross 46600
kroui 92
krouodd 19363
krouu 11371712
krouu_s 15812578
lcmii 1773290
lift_intmod 310
lift_padic 150
logint 40877
logint0 365
lucas 80
mod_to_frac 25
mod_to_rfrac 40
mpfact 40581
mphilbertoo 7120
mulu_interval 71201
odd_prime_divisors 26
ok_q 5
ome 15026690
opt_param 15
order 5
pgener_Fl 22030
pgener_Fl_local 27334
pgener_Fp 6350
pgener_Fp_local 6705
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 215
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 12572
two_rank 85
u_is_gener_expo 10875
u_odd_prime_divisors 10980
u_remove2 10980
uisprimepower 380043
uissquare 82174
uissquareall 5690585
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