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.10.0 lcov report (development 22307-7f6745a) Lines: 2946 3188 92.4 %
Date: 2018-04-22 06:16:17 Functions: 270 288 93.8 %
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
polmodispower 49
Fp_factored_order 56
bestappr_ser 56
err_oo 56
logint0 56
lucas 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
get_PHI 84
gcf 91
Fp_log_find_ind 98
_Fp_rand 112
relative_order 112
znlog_rec 112
geomsum 120
geomsumu 120
_Fp_one 140
qfbclassno0 140
err_p 161
err_prec 196
Fp_ispower 210
lift_padic 210
rootsof1u_Fp 217
znlog 224
contfracpnqn 231
gener_Zp 231
is_gener_expo 244
Up_ispower 273
nxMV_chinese_center 284
nxMV_polint_center_tree 284
bestappr_real_max 287
znprimroot 301
Zn_ispower 308
Fp_log_find_rel 311
ZXC_nv_mod_tree 315
nxV_chinese_center_tree 404
ZXX_nv_mod_tree 405
handle_pe 413
lift_intmod 420
muls_interval 448
sqrt_Cipolla_sqr 449
kroui 503
is_gener_Fp 514
equal1 518
ECP_psi 525
_computeG 525
hilbert 658
polispower 658
nmV_chinese_center_tree_seq 756
nmV_polint_center_tree_seq 756
Fp_2gener 980
Qp_ispower 1113
_Fp_sqr 1128
_psi 1367
ispolygonal 1386
fa_isfundamental 1407
Z_ispowerall 1547
ispseudoprimepower 1909
nxV_chinese_center 1994
Fp_powers 2016
Z_chinese 2142
U2_issquare 2373
Zn_issquare 2548
addifsmooth1 2583
Fp_2gener_all 2800
Fl_powers 2821
fa_quaddisc 2821
quaddisc 2821
polissquareall 2975
to_ZX 3159
ncV_chinese_center 3732
rootsof1_Fl 3899
nxMV_polint_center_tree_worker 4110
nxCV_polint_center_tree 4424
Up_issquare 4690
ok_q 6663
ramanujantau 7035
get_Fp_field 7619
hclassno6_large 7803
mphilbertoo 9982
Fp_invmBarrett 10090
sisfundamental 10353
uposisfundamental 10583
Fp_order 10676
ZM_nv_mod_tree 12017
Fl_order 12082
ZV_chinese 12931
tauprime 14903
bestappr 16155
chinese 16520
Z_isfundamental 16688
isfundamental 17528
nmV_chinese_center 18279
nmV_polint_center_tree 18279
polint_chinese 18563
Fl_log_naive_pre 19088
Fl_log_pre 19088
unegisfundamental 21148
Fp_pows 21567
pgener_Fp 23436
pgener_Fp_local 24199
choose_sqrt 27537
_Fp_inv 29472
sqrtint 30563
krois 30737
Hspec 36750
ZV_chinese_center 38813
Fp_log_sieve_worker 39012
u_is_gener_expo 43477
u_remove2 44132
u_odd_prime_divisors 44133
hclassno 45738
Fl_lgener_pre_all 46039
hilbertii 53144
Fp_sqrtn 61301
Fp_log_halfgcd 61470
Fl_sqrtn 64934
Fl_sqrtn_pre 64934
pgener_Zl 68077
pgener_Zp 68082
istotient 70000
gc_chinese 76033
Z_ispow2 80670
nxV_polint_center_tree 89824
ZV_nv_mod_tree 96234
addifsmooth2 99869
Fl_sqrtl_i 109402
Fl_sqrtl_pre 109402
Fl_sqrtl_raw 110081
Z_chinese_coprime 110591
pgener_Fl 113211
is_gener_Fl 114105
krosi 120045
krouodd 120548
uissquare 120605
hclassno6 121520
pgener_Fl_local 137129
Fl_2gener_pre 149704
_Fp_s 151001
issquare 157857
issquareall 163100
nmV_polint_center_tree_worker 206906
Z_chinese_all 218619
ncV_polint_center_tree 219079
Z_chinese_pre 237218
ulogintall 254326
logintall 262056
chinese1_coprime_Z_aux 289229
bestappr_real 295568
chinese1_coprime_Z 309267
gen_chinese 309316
_Fp_neg 318458
init_montdata 328970
Z_factor_listP 350651
split_lcm 359404
update_g1 359404
ZX_nv_mod_tree 390352
_Fp_equal0 395272
_mul_remiibar 411006
Fp_select_red 422250
bestappr_Q 466580
ZV_chinesetree 468116
ZV_invdivexact 468174
ZV_sqr 468181
ZV_producttree 471580
ZV_allpnqn 480550
icopy_lg 488070
Qsfcont 488366
gboundcf 488588
split_exponent 505715
uisprimepower 541752
istotient_i 621565
qfi_Shanks 623434
Z_chinese_post 637304
_Fp_mul 639837
Fp_log_use_index 658131
Fp_log 696381
isprimepower 840098
isprimepower_i 842007
Z_isanypower_nosmalldiv 864619
Fp_easylog 989989
Fp_powu 1002946
mulu_interval 1023770
_mul_remii 1046021
u_chinese_coprime 1104325
u_chinese_post 1104325
_Fp_red 1106416
_mul2_remiibar 1261558
_Fp_add 1572954
_Fp_rmul 1746877
get_forms 2037145
two_rank 2037145
conductor_part 2037166
Shanks_order 2037194
classno 2039521
corediscfact 2044969
Fp_sqrt 2333440
Fp_sqrt_i 2347867
mpfact 2464120
Fp_invgen 2671985
find_order 2756128
qfi_order 2926471
_Fp_pow 2981070
_mul2_remii 2997200
_mul_montred 3045478
ZT_sqr 3130369
Fl_sqrt_pre 3387682
_sqr_remiibar 3823824
Fp_rem_mBarrett 4234830
Fp_dblsqr 4258758
Fl_2powu 4700783
Fp_pow 5333646
gome 5355908
_mul2_montred 5837201
ZV_chinese_tree 5977612
kronecker 6103539
Z_issquareall 6272042
gisanypower 7000182
Z_isanypower 7000813
Z_isanypower_aux 7000813
ispower 7002947
Z_ZV_mod_tree 10236875
_sqr_remii 10891407
Fl_powers_pre 11043646
uissquareall 11695107
qfb_equal1 12869702
carremod 13185615
qfi_pow 18205555
lcmii 19119595
Fl_2powu_pre 20078290
qfi_comp 22882105
Fl_2gener_pre_all 26681471
_sqr_montred 32516511
sqr_primeform 38703604
Fl_powu 45737690
Fl_sqrt 60507006
Fl_sqrt_pre_i 63918100
kross 73218203
Fl_powu_pre 96226093
krouu 109307533
kroiu 340149923
krouu_s 524134034
ome 669714787

Generated by: LCOV version 1.11