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 17234-4181bc5) Lines: 2491 2734 91.1 %
Date: 2014-12-18 Functions: 209 225 92.9 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1691 2234 75.7 %

Function Name Sort by function name Hit count Sort by hit count
Fl_2gener_pre_all 3798748
Fl_lgener_pre_all 8241
Fl_order 4655
Fl_powers 104
Fl_powers_pre 958763
Fl_powu 26181782
Fl_powu_pre 15610152
Fl_sqrt 7047633
Fl_sqrt_i 7920395
Fl_sqrt_pre 872762
Fl_sqrtl 0
Fl_sqrtl_i 16070
Fl_sqrtl_pre 16070
Fp_easylog 179118
Fp_factored_order 49
Fp_invmBarrett 6357
Fp_ispower 168
Fp_log 190945
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 163811
Fp_order 11002
Fp_pow 2294996
Fp_powers 112
Fp_pows 14336
Fp_powu 1006604
Fp_rem_mBarrett 322035
Fp_select_red 305005
Fp_sqrt 1625285
Fp_sqrtn 1680
Qsfcont 1981431
Shanks_order 154
U2_issquare 2373
Up_ispower 252
Up_issquare 4690
ZT_sqr 839113
ZV_allpnqn 1533
ZV_chinese 98759
ZV_chinese_tree 45628
ZV_chinesetree 144387
ZV_invdivexact 144387
ZV_polint_tree 144387
ZV_producttree 144387
ZV_sqr 144387
ZX_nv_mod_tree 57434
Z_ZV_mod 0
Z_ZV_mod_tree 756070
Z_chinese 2142
Z_chinese_all 109427
Z_chinese_coprime 412293
Z_chinese_post 606617
Z_chinese_pre 127949
Z_factor_listP 350651
Z_isanypower 7000560
Z_isanypower_aux 7000560
Z_isanypower_nosmalldiv 864273
Z_isfundamental 14574
Z_ispow2 21534
Z_ispowerall 1022
Z_issquareall 2850194
Z_nv_mod 0
Zn_ispower 280
Zn_issquare 2548
Zp_issquare 0
Zp_order 63
_Fp_add 25164936
_Fp_equal0 1463620
_Fp_inv 59409
_Fp_mul 137837
_Fp_neg 137067
_Fp_one 8
_Fp_pow 478173
_Fp_rand 406
_Fp_red 2613927
_Fp_rmul 26156520
_Fp_s 124484
_Fp_sqr 60
_m2sqr 2476689
_montred 11540487
_mul 774562
_muli2montred 1903758
_muli2red 2476689
_psi 742
_remii 4017786
_remiibar 322035
_sqr 12399140
addifsmooth1 29078
addifsmooth2 205667
bestappr 7578
bestapprPade 63
bestappr_Q 299621
bestappr_RgX 63
bestappr_frac 0
bestappr_real 195382
bestappr_real_max 28
bestappr_ser 49
carremod 8189467
check_kernel 21
chinese 16436
chinese1 35
chinese1_coprime_Z 76364
chinese1_coprime_Z_aux 66368
classno 119
classno2 21
conductor_part 133
contfrac0 49
contfracpnqn 126
corediscfact 147
eps 18431
equal1 518
err_oo 56
err_p 161
err_prec 196
fibo 7
find_order 441
gboundcf 1983165
gcf 0
gcf2 0
gener_Zp 224
get_Fp_field 6218
get_PHI 63
get_forms 112
get_quad 14
gisanypower 7000154
gissquare 0
gissquareall 0
gome 2619971
handle_pe 392
hclassno 4627
hclassno2 14
hilbert 658
hilbertii 53095
icopy_lg 1981184
init_montdata 229917
is_gener_Fl 39307
is_gener_Fp 153
is_gener_expo 33
isfundamental 14021
ispolygonal 1386
ispower 7002093
isprimepower 840091
isprimepower_i 841218
ispseudoprimepower 1127
issquare 142996
issquareall 145397
istotient 70000
istotient_i 621565
krois 528
kroiu 1212815
kronecker 4966518
krosi 27870
kross 66052
kroui 146
krouodd 28016
krouu 23355042
krouu_s 29606216
lcmii 2610025
lift_intmod 420
lift_padic 210
logint 213913
logint0 546
lucas 56
mod_to_frac 35
mod_to_rfrac 56
mpfact 74732
mphilbertoo 9968
mulu_interval 117663
ncV_polint_tree 0
nmV_chinese 0
nmV_polint_tree 0
odd_prime_divisors 34
ok_q 7
ome 37148062
opt_param 21
order 0
pgener_Fl 31507
pgener_Fl_local 41313
pgener_Fp 9478
pgener_Fp_local 9982
pgener_Zl 52
pgener_Zp 56
pnqn 0
polispower 294
polissquareall 1232
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 329
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 17868
two_rank 112
u_is_gener_expo 16991
u_odd_prime_divisors 15696
u_remove2 15696
uisprimepower 541125
uissquare 115218
uissquareall 8023790
unegisfundamental 9807
update_f 14
update_g1 77
uposisfundamental 6608
znlog 168
znlog_rec 91
znorder 63
znprimroot 294
znstar 3451

Generated by: LCOV version 1.9