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 21342-bb34613) Lines: 2931 3177 92.3 %
Date: 2017-11-18 06:21:14 Functions: 267 285 93.7 %
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
quaddisc 7
quadunit 7
quadunit0 7
rootsof1u_Fp 7
sqrt_Cipolla 8
get_quad 14
sfcont2 14
update_f 14
chinese_intpol 21
classno2 21
quadregulator 21
sqrt_Cipolla_msqr 23
is_gener_expo 34
gcf 35
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
ZXM_nv_mod_tree 50
nxMV_chinese_center_tree_seq 50
nxMV_polint_center_tree_seq 50
Fp_factored_order 56
bestappr_ser 56
err_oo 56
logint0 56
lucas 56
znorder 63
Zp_order 70
mod_to_rfrac 70
bestapprPade 77
bestappr_RgX 77
get_PHI 84
Fp_log_find_ind 98
_Fp_one 104
_Fp_rand 112
relative_order 112
znlog_rec 112
geomsum 120
geomsumu 120
kroui 123
qfbclassno0 140
is_gener_Fp 141
err_p 161
contfracpnqn 189
err_prec 196
nxMV_chinese_center 204
nxMV_polint_center_tree 204
Fp_ispower 210
lift_padic 210
znlog 224
gener_Zp 231
Fp_log_find_rel 261
ZXC_nv_mod_tree 268
Up_ispower 273
bestappr_real_max 287
znprimroot 301
Zn_ispower 308
handle_pe 413
lift_intmod 420
ZXX_nv_mod_tree 423
nxV_chinese_center_tree 423
muls_interval 448
sqrt_Cipolla_sqr 449
equal1 518
ECP_psi 525
_computeG 525
hilbert 658
polispower 672
Fp_2gener 686
_Fp_sqr 948
Z_chinese_coprime 1050
Qp_ispower 1113
_psi 1367
ispolygonal 1386
fa_isfundamental 1407
Z_ispowerall 1512
Fp_powers 1624
ispseudoprimepower 1901
nxV_chinese_center 2014
Fl_powers 2101
Z_chinese 2142
U2_issquare 2373
rootsof1_Fl 2394
Zn_issquare 2548
addifsmooth1 2583
nxMV_polint_center_tree_worker 2835
polissquareall 2961
nxCV_polint_center_tree 3102
to_ZX 3236
ncV_chinese_center 3550
nmV_chinese_center_tree_seq 4153
nmV_polint_center_tree_seq 4153
Up_issquare 4690
get_Fp_field 4913
Fl_order 5635
ok_q 6327
Fp_2gener_all 6639
ramanujantau 7035
hclassno6_large 7873
Fp_invmBarrett 9905
mphilbertoo 9982
Fp_order 10732
uposisfundamental 11360
sisfundamental 11557
ZV_chinese 12930
bestappr 14797
tauprime 14903
ZM_nv_mod_tree 15414
nmV_chinese_center 15747
nmV_polint_center_tree 15747
polint_chinese 15951
Z_isfundamental 16366
chinese 16520
isfundamental 17213
Fl_log_naive_pre 20813
Fl_log_pre 20813
unegisfundamental 21057
Fp_pows 21518
_Fp_inv 21665
pgener_Fp 23415
pgener_Fp_local 23968
krois 29358
Hspec 36750
ZV_chinese_center 38305
Fp_log_sieve_worker 39014
sqrtint 39355
u_remove2 40545
u_odd_prime_divisors 40546
u_is_gener_expo 40669
hclassno 44576
hilbertii 53144
nxV_polint_center_tree 58725
Fp_sqrtn 61090
Fl_sqrtn 63428
Fl_sqrtn_pre 63428
pgener_Zl 64843
pgener_Zp 64848
Fp_log_halfgcd 67932
istotient 70000
Fl_lgener_pre_all 70405
Z_ispow2 70513
gc_chinese 72750
u_chinese_coprime 75460
u_chinese_post 75460
addifsmooth2 99869
_Fp_s 103969
pgener_Fl 107684
is_gener_Fl 109048
hclassno6 120358
uissquare 120651
pgener_Fl_local 130087
Fl_sqrtl_i 132501
Fl_sqrtl_pre 132501
Fl_sqrtl_raw 132793
issquare 143115
Fl_2gener_pre 145049
issquareall 148771
ZV_nv_mod_tree 166427
nmV_polint_center_tree_worker 170448
_Fp_neg 204643
Z_chinese_all 213374
Z_chinese_pre 231973
bestappr_real 232422
ulogintall 252091
ncV_polint_center_tree 252838
logintall 259673
chinese1_coprime_Z_aux 276399
chinese1_coprime_Z 282437
gen_chinese 282486
init_montdata 324564
split_lcm 344004
update_g1 344004
Z_factor_listP 350651
ZV_allpnqn 352863
icopy_lg 359424
Qsfcont 359720
gboundcf 359781
bestappr_Q 377127
ZX_nv_mod_tree 390021
Fp_select_red 421974
ZV_chinesetree 467739
ZV_invdivexact 467807
ZV_sqr 467822
ZV_producttree 469219
_mul_remiibar 486203
split_exponent 505715
Z_chinese_post 509688
uisprimepower 541745
Fp_log 554111
_Fp_equal0 581095
_Fp_mul 584155
Fp_log_use_index 594270
qfi_Shanks 596537
istotient_i 621565
krosi 632485
krouodd 632608
Fp_easylog 813163
isprimepower 840098
isprimepower_i 841999
Z_isanypower_nosmalldiv 864597
mulu_interval 992415
Fp_powu 996073
_mul2_remiibar 1215201
_Fp_red 1295203
_mul_remii 1347865
_Fp_add 1611664
_Fp_rmul 1891385
get_forms 1947314
two_rank 1947314
conductor_part 1947335
Shanks_order 1947363
classno 1949557
corediscfact 1955208
Fp_sqrt 2331507
Fp_sqrt_i 2347516
mpfact 2356507
_Fp_pow 2633209
find_order 2635497
qfi_order 2789255
_mul_montred 3135788
ZT_sqr 3156204
_mul2_remii 3269920
_sqr_remiibar 4247050
Fl_sqrt_pre 4462120
Fp_dblsqr 4485121
Fl_2powu 4523469
Fp_rem_mBarrett 4733253
Fp_pow 4960822
gome 5365128
_mul2_montred 5404209
kronecker 6099017
Z_issquareall 6181496
ZV_chinese_tree 6770080
gisanypower 7000182
Z_isanypower 7000791
Z_isanypower_aux 7000791
ispower 7002989
Fl_powers_pre 8688301
uissquareall 11565055
qfb_equal1 12264017
Z_ZV_mod_tree 12331472
_sqr_remii 12958691
carremod 13054709
qfi_pow 17358976
lcmii 17807198
Fl_2powu_pre 19837139
qfi_comp 21814307
Fl_2gener_pre_all 26123177
_sqr_montred 32530285
sqr_primeform 36996962
Fl_powu 45282011
Fl_sqrt 58262173
Fl_sqrt_pre_i 62752422
kross 71235793
Fl_powu_pre 94605603
krouu 108077672
kroiu 325886233
krouu_s 507176748
ome 648289731

Generated by: LCOV version 1.11