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 16912-212c0f0) Lines: 2279 2690 84.7 %
Date: 2014-10-20 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 3094
Fl_powers 0
Fl_powers_pre 0
Fl_powu 55450152
Fl_powu_pre 9585580
Fl_sqrt 5244142
Fl_sqrt_i 5244156
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 57526
Fp_log_index 21
Fp_log_sieve_h 28770
Fp_log_use_index 150884
Fp_order 6162
Fp_pow 2184025
Fp_powers 0
Fp_pows 14336
Fp_powu 3673972
Fp_rem_mBarrett 321724
Fp_select_red 285148
Fp_sqrt 1615035
Fp_sqrtn 1302
Qsfcont 1979777
Shanks_order 154
U2_issquare 2373
Up_ispower 238
Up_issquare 4690
ZT_sqr 0
ZV_allpnqn 768
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 108379
Z_chinese_coprime 411903
Z_chinese_post 593381
Z_chinese_pre 126747
Z_factor_listP 350651
Z_isanypower 7001610
Z_isanypower_aux 7001610
Z_isanypower_nosmalldiv 864278
Z_isfundamental 14574
Z_ispow2 19203
Z_ispowerall 707
Z_issquareall 2848628
Zn_ispower 266
Zn_issquare 2548
Zp_issquare 0
Zp_order 63
_Fp_add 25158454
_Fp_equal0 1458536
_Fp_inv 59337
_Fp_mul 83366
_Fp_neg 135091
_Fp_one 0
_Fp_pow 392613
_Fp_rand 329
_Fp_red 2607965
_Fp_rmul 26149448
_Fp_s 123856
_Fp_sqr 0
_m2sqr 2279095
_montred 11540547
_mul 777708
_muli2montred 1900902
_muli2red 2279095
_psi 742
_remii 2874338
_remiibar 321724
_sqr 11446649
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 8139013
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 1981167
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 2612758
handle_pe 378
hclassno 7
hclassno2 7
hilbert 658
hilbertii 53095
icopy_lg 1979560
init_montdata 233157
is_char_2 535500
is_gener_Fl 33256
is_gener_Fp 120
is_gener_expo 33
isfundamental 14021
ispolygonal 1386
ispower 7001603
isprimepower 840091
issquare 142968
issquareall 144302
istotient 70000
istotient_i 621565
krois 507
kroiu 1193593
kronecker 4946692
krosi 27579
kross 65200
kroui 116
krouodd 27695
krouu 15836785
krouu_s 22048864
lcmii 2336966
lift_intmod 420
lift_padic 210
logint 56664
logint0 546
lucas 56
mod_to_frac 35
mod_to_rfrac 56
mpfact 77289
mphilbertoo 9968
mulu_interval 120314
odd_prime_divisors 34
ok_q 7
ome 20913802
opt_param 21
order 0
pgener_Fl 30905
pgener_Fl_local 38023
pgener_Fp 8645
pgener_Fp_local 9142
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 231
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 17206
two_rank 112
u_is_gener_expo 15136
u_odd_prime_divisors 15283
u_remove2 15283
uisprimepower 540061
uissquare 115121
uissquareall 7973679
unegisfundamental 9387
update_f 14
update_g1 77
uposisfundamental 6502
znlog 168
znlog_rec 91
znorder 63
znprimroot 245
znstar 2926

Generated by: LCOV version 1.9