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 to exceed 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.12.0 lcov report (development 23171-a5c0ed393) Lines: 3056 3294 92.8 %
Date: 2018-10-20 05:38:07 Functions: 275 293 93.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Fl_log 0
Fl_log_Fp 0
Fl_log_naive 0
Fl_sqrtl 0
Z_ZV_mod 0
Z_nv_mod 0
Zp_issquare 0
bestappr_frac 0
gcf2 0
gissquare 0
gissquareall 0
nmV_chinese_center_tree 0
order 0
pnqn 0
qfi_log 0
quadclassno 0
rootsof1_Fp 0
sersfcont 0
fibo 7
quadunit 7
quadunit0 7
sqrt_Cipolla 8
get_quad 14
sfcont2 14
update_f 14
chinese_intpol 21
classno2 21
quadregulator 21
sqrt_Cipolla_msqr 23
mod_to_frac 42
odd_prime_divisors 43
remove2 43
Fp_log_index 49
Fp_log_sieve 49
check_kernel 49
chinese1 49
compute_nbgen 49
contfrac0 49
opt_param 49
Fp_factored_order 56
bestappr_ser 56
err_oo 56
logint0 56
lucas 56
polmodispower 56
znorder 63
ZXM_nv_mod_tree 66
nxMV_chinese_center_tree_seq 66
nxMV_polint_center_tree_seq 66
Zp_order 70
mod_to_rfrac 70
bestapprPade 77
bestappr_RgX 77
Fp_pow_init 84
get_PHI 84
Fp_log_find_ind 98
gcf 105
_Fp_rand 112
relative_order 112
znlog_rec 112
geomsum 120
geomsumu 120
qfbclassno0 140
err_p 161
err_prec 196
Fp_ispower 203
lift_padic 210
rootsof1u_Fp 217
znlog 224
Fp_log_find_rel 231
gener_Zp 231
is_gener_expo 244
contfracpnqn 245
Up_ispower 287
nxMV_chinese_center 291
nxMV_polint_center_tree 291
znprimroot 301
ZXC_nv_mod_tree 315
Zn_ispower 329
ZXX_nv_mod_tree 405
nxV_chinese_center_tree 405
lift_intmod 420
handle_pe 427
muls_interval 448
sqrt_Cipolla_sqr 449
kroui 509
equal1 518
is_gener_Fp 520
ECP_psi 525
_computeG 525
hilbert 658
polispower 721
Fp_2gener 980
Qp_ispower 1113
nmV_chinese_center_tree_seq 1123
nmV_polint_center_tree_seq 1123
_psi 1367
ispolygonal 1386
fa_isfundamental 1407
ispseudoprimepower 1706
Fp_powers 2016
nxV_chinese_center 2023
Z_chinese 2142
U2_issquare 2373
Zn_issquare 2548
addifsmooth1 2583
Fp_2gener_all 2802
fa_quaddisc 2821
quaddisc 2821
Fl_powers 2961
polissquareall 3010
to_ZX 3159
ncV_chinese_center 3760
rootsof1_Fl 3934
nxMV_polint_center_tree_worker 4177
nxCV_polint_center_tree 4492
Up_issquare 4690
ok_q 6705
ramanujantau 7035
get_Fp_field 7371
nonsquare_Fl 7714
hclassno6_large 7810
mphilbertoo 9982
Fp_invmBarrett 10113
sisfundamental 10353
uposisfundamental 10583
Fp_order 10676
bestappr 11173
Fl_order 12103
ZM_nv_mod_tree 12383
ZV_chinese 13073
tauprime 14903
chinese 16520
Z_isfundamental 16723
isfundamental 17563
nmV_chinese_center 18830
nmV_polint_center_tree 18830
Fl_log_naive_pre 18958
Fl_log_pre 18958
polint_chinese 19121
unegisfundamental 21211
Fp_pows 21623
_Fp_sqr 23500
pgener_Fp 23590
pgener_Fp_local 24423
choose_sqrt 27550
_Fp_inv 27616
sqrtint 30577
krois 30842
Hspec 36750
Fp_log_sieve_worker 38981
u_is_gener_expo 41987
u_odd_prime_divisors 42641
u_remove2 42641
ZV_chinese_center 42664
hclassno 46088
Fl_lgener_pre_all 46185
hilbertii 53144
Fp_pow_table 55090
_Fp_one 55230
Fp_log_halfgcd 59497
Fp_sqrtn 61301
Fl_sqrtn 64969
Fl_sqrtn_pre 64969
pgener_Zl 69211
pgener_Zp 69216
istotient 70000
gc_chinese 80641
Z_ispow2 80875
nxV_polint_center_tree 90143
Z_ispowerall 97494
addifsmooth2 99869
ZV_nv_mod_tree 101204
is_gener_Fl 105038
Fl_sqrtl_i 109817
Fl_sqrtl_pre 109817
Fl_sqrtl_raw 110527
pgener_Fl 112514
mulu_interval 118692
krosi 120041
krouodd 120550
uissquare 121374
hclassno6 121870
pgener_Fl_local 136595
_Fp_s 150543
Fl_2gener_pre 150642
issquare 157983
issquareall 163254
mulu_interval_step 185326
nmV_polint_center_tree_worker 215344
Z_chinese_all 219291
ncV_polint_center_tree 232492
Z_chinese_pre 237890
ulogintall 253556
logintall 261271
_Fp_neg 268331
init_montdata 271526
bestappr_real 277862
chinese1_coprime_Z_aux 295886
Z_chinese_coprime 313201
chinese1_coprime_Z 327042
gen_chinese 327091
Z_factor_listP 350651
Fp_select_red 358293
split_lcm 362162
update_g1 362162
_Fp_equal0 385860
ZX_nv_mod_tree 409080
_mul_remiibar 410925
bestappr_Q 426445
ZV_allpnqn 480802
icopy_lg 488420
Qsfcont 488716
gboundcf 488980
split_exponent 505715
uisprimepower 542227
istotient_i 621565
qfi_Shanks 626556
Fp_log_use_index 713042
Fp_log 747337
isprimepower 840098
isprimepower_i 841804
Z_chinese_post 847243
Z_isanypower_nosmalldiv 864668
Fp_powu 895854
_mul_remii 938617
Fl_2powu 981231
_Fp_red 1052565
Fp_easylog 1075656
ZV_chinesetree 1093954
ZV_invdivexact 1094530
ZV_sqr 1094661
ZV_producttree 1098203
_Fp_mul 1247292
_mul2_remiibar 1263984
_Fp_add 1504160
_Fp_rmul 1665214
get_forms 2052496
two_rank 2052496
conductor_part 2052517
Shanks_order 2052545
classno 2054893
corediscfact 2060327
u_chinese_coprime 2159132
u_chinese_post 2159132
_mul_montred 2458865
Zn_quad_roots 2742838
find_order 2776995
qfi_order 2941241
_mul2_remii 2998081
mpfact 3041517
_Fp_pow 3177996
Fl_sqrt_pre 3415839
Fp_sqrt 3477734
Fp_sqrt_i 3492161
_sqr_remiibar 3825850
Fp_invgen 3894392
checkp 3902917
gome 4184270
Fp_rem_mBarrett 4236775
Fp_dblsqr 4262065
kronecker 5050962
Fp_pow 5526319
_mul2_montred 5833837
ZT_sqr 5893151
Z_issquareall 6352888
gisanypower 7000182
Z_isanypower 7000862
Z_isanypower_aux 7000862
ispower 7096507
ZV_chinese_tree 8312127
_sqr_remii 10530420
Z_ZV_mod_tree 10984557
Fl_powers_pre 11051755
uissquareall 11825169
qfb_equal1 12943797
carremod 13317040
qfi_pow 18316834
lcmii 19787757
Fl_2powu_pre 20729176
qfi_comp 23025703
nonsquare1_Fl 26375148
_sqr_montred 29573654
sqr_primeform 38995259
Fl_powu 42316091
Fl_sqrt 60205584
krouu 62993302
Fl_sqrt_pre_i 63652007
kross 73655900
Fl_powu_pre 95832452
kroiu 342596563
krouu_s 479815454
ome 630004559

Generated by: LCOV version 1.13