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 - elliptic.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 16741-1378b1c) Lines: 3214 3680 87.3 %
Date: 2014-08-17 Functions: 283 303 93.4 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1630 2417 67.4 %

Function Name Sort by function name Hit count Sort by hit count
CM_factor 15
E_compose_r 177485
E_compose_rst 186215
E_compose_t 167595
E_compose_u 0
F2_card 315
F3_card 1360
Fl_c4c6_to_a4a6 96178
Fl_ell_to_a4a6 96178
FpE_issingular 180
Mod32 404395
PiI2div 6150
Q_numer 355
RHSpol 901
Zec_h_evalx 5
ZtoF2 60
_elleisnum 9320
_elleta 6125
_hell 190
_mul 40
_orderell 220
_sqr 145
addii3 810
addii4 540
addii5 270
akell 500
anell 115
anellsmall 320
apk_good 530
approx_mod2 0
approx_mod3 0
aux 592160
aux2 962120
base_ring 424160
best_in_cycle 125
bilhell 10
bilhell_i 30
c4c6_to_a4a6 1920675
cardmod2 300
cardmod3 1260
ch_FF 90
ch_Fp 5
ch_Fq 85
ch_Q 100
ch_Qp 5
ch_R 100
ch_Rg 5
check_periods 10015
check_real 9495
checkcoordch 460
checkell 2103063
checkell5 205
checkell_Fq 68990
checkell_Q 326520
checkell_Qp 0
checkell_int 820
checkellisog 50
checkellp 1956670
checkellpt 65113
chk_p 68405
composev_r 177485
composev_rst 186215
composev_s 47945
composev_st 69610
composev_t 176020
composev_u 0
compute_periods 10010
coordch 200
coordch_r 363900
coordch_rst 186415
coordch_s 79590
coordch_st 186415
coordch_t 234770
coordch_u 225
do_padic_agm 85
doellQp_Tate_uniformization 35
doellQp_ab 90
doellQp_root 115
doellR_ab 60
doellR_eta 20
doellR_omega 181
doellR_roots 276
doellcard 33615
doellff_get_o 625
doellgens 11980
doellglobalred 323710
doellgroup 25945
doellrootno 215
ec_2divpol_evalx 725
ec_LHS_evalQ 2123
ec_dFdx_evalQ 585
ec_dFdy_evalQ 1280
ec_dLHSdy_evalQ 1600
ec_f_evalx 297078
ec_h_evalx 626368
ec_half_deriv_2divpol_evalx 600
ellQ_get_N 670
ellQ_get_Nfa 25
ellQp_Tate_uniformization 60
ellQp_ab 20
ellQp_q 0
ellQp_root 120
ellQp_u 20
ellQp_u2 0
ellR_ab 735
ellR_eta 30
ellR_omega 910
ellR_on_neutral 735
ellR_root 1530
ellR_roots 1746
ell_get_CM 495
ell_is_integral 220
ell_over_Fq 140175
ell_reset 190
ell_to_a4a6 1920570
ell_to_a4a6_bc 13855
elladd 2060
ellanal_globalred 620
ellap 1906790
ellap_small_goodred 96628
ellbasechar 230
ellcard 34055
ellcard_ram 1908245
ellchangecurve 205
ellchangeinvert 10
ellchangepoint 215
ellchangepoint0 215
ellchangepointinv 45
ellchangepointinv0 45
elldivpol 455
elldivpol0 775
elldivpol4 635
elleisnum 3065
elleta 30
ellexpo 5
ellff_get_card 45490
ellff_get_gens 12035
ellff_get_group 26265
ellff_get_o 810
ellff_get_p 47125
ellffmul 55235
ellformaldifferential 15
ellformaldifferential_i 195
ellformalexp 15
ellformallog 35
ellformallogsigma_t 145
ellformalpoint 15
ellformalpoint_i 210
ellformalw 235
ellfromj 11995
ellfromj_simple 3955
ellgen 1260
ellgenerators 12000
ellglobalred 323540
ellglobalred_all 323720
ellglobalred_i 324855
ellgroup 14510
ellgroup0 15190
ellgroup_m 14615
ellheight 130
ellheight0 15
ellheightmatrix 10
ellheightoo 620
ellheightpairing 35
ellinit 423970
ellinit_Fp 18585
ellinit_Fq 28325
ellinit_Q 351485
ellinit_Qp 40
ellinit_Rg 65
ellinit_nf 25570
ellinit_nf_to_Fq 10
ellintegralmodel 323920
ellisoncurve 2953
elllocalred 69985
elllog 90
elllseries 20
ellminimalmodel 70
ellminimalmodel_i 323990
ellmul 55310
ellmul_CM 15
ellmul_CM_aux 15
ellmul_Z 55365
ellneg 5
ellneg_i 75
ellnonsingularmultiple 155
ellomega_agm 176
ellomega_cx 61
ellorder 1810
ellordinate 255
ellordinate_i 650
ellpadicbil 10
ellpadicfrobenius 125
ellpadicheight 155
ellpadicheight0 50
ellpadicheightmatrix 25
ellpadiclog 10
ellpadics2 15
ellperiods 10
ellprint 0
ellrandom 66850
ellrootno 25
ellrootno_2 100
ellrootno_3 60
ellrootno_global 385
ellrootno_p 335
ellsigma 6150
ellsub 50
elltaniyama 15
elltatepairing 145
elltors 175
elltors0 95
elltors_divpol 175
elltors_doud 0
ellweilpairing 180
ellwp 0
ellwp0 100
ellwpnum_all 695
ellwpseries 20
ellwpseries_aux 150
ellzeta 85
eta_correction 6120
expIxy 23145
exphellagm 735
fix_nftype 25570
gcomposev 30
get_c4c6 135
get_periods 9985
get_toadd 6815
get_u 323740
get_vu_p_small 1620
handle_Q 0
handle_coeff 1619600
hoo_aux 735
init_ch 1842975
initsmall 424070
invcmp 408
is_minimal_ap 700
is_minimal_ap_small 1460
is_new_torsion 0
is_trivial_change 323815
j_pval 626905
kod_23 160
localred 1160740
localred_23 534180
localred_p 626570
localred_result 1195735
localredbug 0
log_prec 5
logsigma_prec 145
min_get_v 323740
min_set_2 15
min_set_3 100
min_set_D 323740
min_set_a 323755
min_set_b 323855
min_set_c 323960
min_set_u 323960
min_to_ell 323740
myround 0
myroundr 45
nagelllutz 0
neron_2 100
neron_3 50
nfVtoalg 25575
nflocalred 34985
nflocalred_p 34985
nftoalg 127915
numroots2 532685
numroots3 162970
oncurve 2178
orderell 5
padic_mod 300
padic_prec 55
parse_p 150
pointell 645
precp_fix 215
quad_root 735
ratroot 0
real_prec 55
red_modSL2 10005
redtausl2 6170
reduce_z 6840
rellg 5310
set_gamma 16175
smaller_x 145
t2points 105
tfromx 145
tors 175
torsbound 175
torspnt 0
tpoint 140
triv_ser 0
trueE 9320
val_aux 480
val_init 160
xmP 270
zell 40
zellQp 20
zell_closest_0 0
zellcx 5
zellrealneg 0
zellrealpos 15

Generated by: LCOV version 1.9