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-bordeaux.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 19214-1621e44) Lines: 2617 2847 91.9 %
Date: 2016-07-26 07:10:39 Functions: 229 243 94.2 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Fl_2gener_pre_all 22196598
Fl_lgener_pre_all 63230
Fl_order 5124
Fl_powers 1520
Fl_powers_pre 8284826
Fl_powu 61034605
Fl_powu_pre 116631589
Fl_sqrt 50409050
Fl_sqrt_i 53873656
Fl_sqrt_pre 3472431
Fl_sqrtl 0
Fl_sqrtl_i 115508
Fl_sqrtl_pre 115508
Fp_dblsqr 387210
Fp_easylog 218022
Fp_factored_order 56
Fp_invmBarrett 5166
Fp_ispower 210
Fp_log 205479
Fp_log_find_ind 98
Fp_log_find_rel 231
Fp_log_halfgcd 56805
Fp_log_index 49
Fp_log_sieve_h 36862
Fp_log_use_index 192262
Fp_order 10624
Fp_pow 2497787
Fp_powers 1624
Fp_pows 21000
Fp_powu 860183
Fp_rem_mBarrett 316949
Fp_select_red 312511
Fp_sqrt 2336851
Fp_sqrtn 62286
Hspec 36750
Qp_ispower 1113
Qsfcont 359468
Shanks_order 1678738
U2_issquare 2373
Up_ispower 294
Up_issquare 4690
ZT_sqr 1032724
ZV_allpnqn 352730
ZV_chinese 103383
ZV_chinese_tree 46758
ZV_chinesetree 155023
ZV_invdivexact 155028
ZV_polint_center_tree 2118559
ZV_polint_tree 2261122
ZV_producttree 155025
ZV_sqr 155028
ZX_nv_mod_tree 58813
Z_ZV_mod 0
Z_ZV_mod_tree 844686
Z_chinese 2142
Z_chinese_all 415142
Z_chinese_coprime 83153
Z_chinese_post 590553
Z_chinese_pre 433741
Z_factor_listP 350651
Z_isanypower 7000630
Z_isanypower_aux 7000630
Z_isanypower_nosmalldiv 864316
Z_isfundamental 14931
Z_ispow2 30824
Z_ispowerall 1512
Z_issquareall 4605926
Z_nv_mod 0
Zn_ispower 322
Zn_issquare 2548
Zp_issquare 0
Zp_order 70
_Fp_add 944352
_Fp_equal0 526253
_Fp_inv 18323
_Fp_mul 166047
_Fp_neg 103113
_Fp_one 104
_Fp_pow 625233
_Fp_rand 413
_Fp_red 935783
_Fp_rmul 1181019
_Fp_s 82540
_Fp_sqr 948
_mul2_montred 813330
_mul2_remii 382690
_mul2_remiibar 4520
_mul_montred 1238052
_mul_remii 240726
_mul_remiibar 8403
_psi 1367
_sqr_montred 11852515
_sqr_remii 3630050
_sqr_remiibar 308546
addifsmooth1 37401
addifsmooth2 253358
bestappr 7989
bestapprPade 63
bestappr_Q 290592
bestappr_RgX 63
bestappr_frac 0
bestappr_real 195568
bestappr_real_max 21
bestappr_ser 49
carremod 8773769
check_kernel 49
chinese 16520
chinese1 49
chinese1_coprime_Z 101712
chinese1_coprime_Z_aux 73393
chinese_intpol 21
classno 1680638
classno2 21
conductor_part 1678710
contfrac0 49
contfracpnqn 126
corediscfact 1720764
eps 18445
equal1 518
err_oo 56
err_p 161
err_prec 196
fibo 7
find_order 2270664
gboundcf 359473
gc_chinese 155023
gcf 0
gcf2 0
gen_chinese 101761
gener_Zp 287
geomsum 6083
get_Fp_field 4557
get_PHI 84
get_forms 1678689
get_quad 14
gisanypower 7000161
gissquare 0
gissquareall 0
gome 4412282
handle_pe 434
hclassno 76111
hclassno2 5304
hilbert 658
hilbertii 53144
icopy_lg 359179
init_montdata 239719
is_gener_Fl 53336
is_gener_Fp 141
is_gener_expo 33
isfundamental 14371
ispolygonal 1386
ispower 7002961
isprimepower 840098
isprimepower_i 841627
ispseudoprimepower 1529
issquare 143024
issquareall 146174
istotient 70000
istotient_i 621565
krois 27671
kroiu 283954419
kronecker 5054204
krosi 31162
kross 46125977
kroui 112
krouodd 31274
krouu 72479673
krouu_s 407723261
lcmii 3385341
lift_intmod 420
lift_padic 210
logint 309519
logint0 42
lucas 56
mod_to_frac 35
mod_to_rfrac 56
mpfact 2295568
mphilbertoo 9982
muls_interval 245
mulu_interval 979630
myh 36750
ncV_chinese_center 2794
ncV_polint_center_tree 40819
nmV_chinese_center 2090
nmV_polint_center_tree 2090
nmV_polint_center_tree_worker 38030
odd_prime_divisors 42
ok_q 5550
ome 539671898
opt_param 49
order 0
pgener_Fl 43594
pgener_Fl_local 51860
pgener_Fp 7042
pgener_Fp_local 7574
pgener_Zl 3797
pgener_Zp 3801
pnqn 0
polispower 497
polissquareall 1603
polmodispower 126
qfb_equal1 10628904
qfbclassno0 140
qfi_Shanks 521297
qfi_comp 18997455
qfi_log 0
qfi_order 2418537
qfi_pow 15047085
quaddisc 7
quadregulator 21
quadunit 7
ramanujantau 7035
relative_order 112
remove2 42
rootsof1_Fl 1680
rootsof1_Fp 0
rootsof1u_Fp 301
sersfcont 0
sfcont2 14
sisfundamental 1078
split_exponent 505729
split_lcm 295900
sqr_primeform 31893332
sqrt_Cipolla 8
sqrt_Cipolla_msqr 23
sqrt_Cipolla_sqr 449
sqrtint 38669
tauprime 14903
two_rank 1678689
u_is_gener_expo 21509
u_odd_prime_divisors 21271
u_remove2 21271
uisprimepower 541670
uissquare 115450
uissquareall 8607641
unegisfundamental 12545
update_f 14
update_g1 295900
uposisfundamental 7209
znlog 217
znlog_rec 112
znorder 63
znprimroot 357

Generated by: LCOV version 1.11