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 16937-4bd9b4e) Lines: 2279 2690 84.7 %
Date: 2014-10-24 Functions: 190 218 87.2 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1569 2224 70.5 %

Function Name Sort by function name Hit count Sort by hit count
Fl_2gener_pre_all 3210889
Fl_lgener_pre_all 0
Fl_order 4641
Fl_powers 0
Fl_powers_pre 0
Fl_powu 55451159
Fl_powu_pre 9585923
Fl_sqrt 5244478
Fl_sqrt_i 5244492
Fl_sqrt_pre 14
Fl_sqrtl 0
Fl_sqrtl_i 0
Fl_sqrtl_pre 0
Fp_easylog 160803
Fp_factored_order 49
Fp_invmBarrett 6356
Fp_ispower 168
Fp_log 183431
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 150884
Fp_order 6162
Fp_pow 2184060
Fp_powers 0
Fp_pows 14336
Fp_powu 3674074
Fp_rem_mBarrett 321724
Fp_select_red 285183
Fp_sqrt 1615315
Fp_sqrtn 1582
Qsfcont 1981133
Shanks_order 154
U2_issquare 2373
Up_ispower 238
Up_issquare 4690
ZT_sqr 0
ZV_allpnqn 1379
ZV_chinese 0
ZV_chinesetree 0
ZV_invdivexact 0
ZV_polint_tree 0
ZV_producttree 0
ZV_sqr 0
Z_ZV_mod 0
Z_ZV_mod_tree 0
Z_chinese 1988
Z_chinese_all 108559
Z_chinese_coprime 412293
Z_chinese_post 593951
Z_chinese_pre 126927
Z_factor_listP 350651
Z_isanypower 7001631
Z_isanypower_aux 7001631
Z_isanypower_nosmalldiv 864278
Z_isfundamental 14574
Z_ispow2 19213
Z_ispowerall 707
Z_issquareall 2848638
Zn_ispower 266
Zn_issquare 2548
Zp_issquare 0
Zp_order 63
_Fp_add 25158454
_Fp_equal0 1458536
_Fp_inv 59337
_Fp_mul 83380
_Fp_neg 135091
_Fp_one 0
_Fp_pow 392627
_Fp_rand 329
_Fp_red 2607965
_Fp_rmul 26149448
_Fp_s 123856
_Fp_sqr 0
_m2sqr 2279095
_montred 11541657
_mul 778051
_muli2montred 1900902
_muli2red 2279095
_psi 742
_remii 2874518
_remiibar 321724
_sqr 11447566
addifsmooth1 29078
addifsmooth2 205667
bestappr 3329
bestapprPade 63
bestappr_Q 252314
bestappr_RgX 63
bestappr_frac 0
bestappr_real 171297
bestappr_real_max 28
bestappr_ser 49
carremod 8139018
check_kernel 21
chinese 16436
chinese1 35
chinese1_coprime_Z 68168
chinese1_coprime_Z_aux 54724
classno 119
classno2 21
conductor_part 133
contfrac0 252
contfracpnqn 126
corediscfact 140
eps 18431
equal1 518
err_oo 56
err_p 161
err_prec 196
fibo 7
find_order 441
gboundcf 1982771
gcf 0
gcf2 0
gener_Zp 196
get_Fp_field 6205
get_PHI 63
get_forms 112
get_quad 14
gisanypower 7000154
gissquare 0
gissquareall 0
gome 2612824
handle_pe 378
hclassno 7
hclassno2 7
hilbert 658
hilbertii 53095
icopy_lg 1980916
init_montdata 233187
is_char_2 535500
is_gener_Fl 33543
is_gener_Fp 134
is_gener_expo 33
isfundamental 14021
ispolygonal 1386
ispower 7001603
isprimepower 840091
issquare 142968
issquareall 144312
istotient 70000
istotient_i 621565
krois 507
kroiu 1193603
kronecker 4946745
krosi 27827
kross 65240
kroui 128
krouodd 27955
krouu 15854148
krouu_s 22066590
lcmii 2337456
lift_intmod 420
lift_padic 210
logint 57192
logint0 546
lucas 56
mod_to_frac 35
mod_to_rfrac 56
mpfact 77309
mphilbertoo 9968
mulu_interval 120324
odd_prime_divisors 34
ok_q 7
ome 20935958
opt_param 21
order 0
pgener_Fl 31423
pgener_Fl_local 39339
pgener_Fp 9163
pgener_Fp_local 9660
pgener_Zl 52
pgener_Zp 56
pnqn 0
polispower 56
polissquareall 1155
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 511
rootsof1_Fp 0
rootsof1u_Fp 301
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 17501
two_rank 112
u_is_gener_expo 15381
u_odd_prime_divisors 15570
u_remove2 15570
uisprimepower 540061
uissquare 115121
uissquareall 7973684
unegisfundamental 9387
update_f 14
update_g1 77
uposisfundamental 6552
znlog 168
znlog_rec 91
znorder 63
znprimroot 245
znstar 3444

Generated by: LCOV version 1.9