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 17097-9391e68) Lines: 2489 2702 92.1 %
Date: 2014-11-21 Functions: 207 220 94.1 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1684 2222 75.8 %

Function Name Sort by function name Hit count Sort by hit count
Fl_2gener_pre_all 2710700
Fl_lgener_pre_all 5885
Fl_order 3325
Fl_powers 72
Fl_powers_pre 745072
Fl_powu 33379239
Fl_powu_pre 10658520
Fl_sqrt 5028128
Fl_sqrt_i 5651548
Fl_sqrt_pre 623420
Fl_sqrtl 0
Fl_sqrtl_i 11474
Fl_sqrtl_pre 11474
Fp_easylog 117752
Fp_factored_order 35
Fp_invmBarrett 6356
Fp_ispower 120
Fp_log 132786
Fp_log_find_ind 30
Fp_log_find_rel 110
Fp_log_halfgcd 40250
Fp_log_index 15
Fp_log_sieve_h 20550
Fp_log_use_index 109797
Fp_order 7858
Fp_pow 1602369
Fp_powers 80
Fp_pows 10240
Fp_powu 718998
Fp_rem_mBarrett 321724
Fp_select_red 229257
Fp_sqrt 1160937
Fp_sqrtn 1155
Qsfcont 1415309
Shanks_order 110
U2_issquare 1695
Up_ispower 180
Up_issquare 3350
ZT_sqr 882905
ZV_allpnqn 1095
ZV_chinese 81506
ZV_chinese_tree 47046
ZV_chinesetree 128552
ZV_invdivexact 128552
ZV_polint_tree 128552
ZV_producttree 128552
ZV_sqr 128552
ZX_nv_mod_tree 63413
Z_ZV_mod 0
Z_ZV_mod_tree 852863
Z_chinese 1530
Z_chinese_all 78169
Z_chinese_coprime 294495
Z_chinese_post 427480
Z_chinese_pre 91399
Z_factor_listP 250465
Z_isanypower 5001195
Z_isanypower_aux 5001195
Z_isanypower_nosmalldiv 618036
Z_isfundamental 10410
Z_ispow2 16269
Z_ispowerall 525
Z_issquareall 2036279
Z_nv_mod 0
Zn_ispower 200
Zn_issquare 1820
Zp_issquare 0
Zp_order 45
_Fp_add 18068314
_Fp_equal0 1059426
_Fp_inv 43725
_Fp_mul 65324
_Fp_neg 97835
_Fp_one 8
_Fp_pow 298857
_Fp_rand 235
_Fp_red 1884863
_Fp_rmul 18784536
_Fp_s 96120
_Fp_sqr 60
_m2sqr 1836844
_montred 7994567
_mul 559760
_muli2montred 1269864
_muli2red 1836844
_psi 530
_remii 3412254
_remiibar 321724
_sqr 9174858
addifsmooth1 20770
addifsmooth2 146905
bestappr 6989
bestapprPade 45
bestappr_Q 186992
bestappr_RgX 45
bestappr_frac 0
bestappr_real 129365
bestappr_real_max 20
bestappr_ser 35
carremod 5813886
check_kernel 15
chinese 11740
chinese1 25
chinese1_coprime_Z 50504
chinese1_coprime_Z_aux 41581
classno 85
classno2 15
conductor_part 95
contfrac0 35
contfracpnqn 90
corediscfact 105
eps 13165
equal1 370
err_oo 40
err_p 115
err_prec 140
fibo 5
find_order 315
gboundcf 1416547
gcf 0
gcf2 0
gener_Zp 140
get_Fp_field 4661
get_PHI 45
get_forms 80
get_quad 10
gisanypower 5000110
gissquare 0
gissquareall 0
gome 1873701
handle_pe 280
hclassno 3305
hclassno2 10
hilbert 470
hilbertii 37925
icopy_lg 1415132
init_montdata 157083
is_gener_Fl 24671
is_gener_Fp 115
is_gener_expo 25
isfundamental 10015
ispolygonal 990
ispower 5001155
isprimepower 600065
issquare 102140
issquareall 103805
istotient 50000
istotient_i 443975
krois 372
kroiu 866473
kronecker 3547364
krosi 20250
kross 47175
kroui 108
krouodd 20358
krouu 16813132
krouu_s 21278621
lcmii 1765553
lift_intmod 300
lift_padic 150
logint 142840
logint0 390
lucas 40
mod_to_frac 25
mod_to_rfrac 40
mpfact 56342
mphilbertoo 7120
mulu_interval 87002
odd_prime_divisors 26
ok_q 5
ome 26491955
opt_param 15
order 0
pgener_Fl 22450
pgener_Fl_local 28394
pgener_Fp 6605
pgener_Fp_local 6980
pgener_Zl 36
pgener_Zp 40
pnqn 0
polispower 40
polissquareall 850
qfb_hash 7455
qfb_is_1 930
qfb_pow 1570
qfbclassno0 95
qfi_comp 6985
quaddisc 5
quadregulator 15
quadunit 5
relative_order 80
remove2 26
rootsof1_Fl 365
rootsof1_Fp 0
rootsof1u_Fp 230
sersfcont 0
sfcont2 10
split_exponent 361220
split_lcm 55
sqr_primeform 1520
sqrt_Cipolla 6
sqrt_Cipolla_msqr 17
sqrt_Cipolla_sqr 329
sqrtint 12746
two_rank 80
u_is_gener_expo 11205
u_odd_prime_divisors 11140
u_remove2 11140
uisprimepower 380043
uissquare 82183
uissquareall 5694704
unegisfundamental 6719
update_f 10
update_g1 55
uposisfundamental 4434
znlog 120
znlog_rec 65
znorder 45
znprimroot 175
znstar 2465

Generated by: LCOV version 1.9