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 16624-25b9976) Lines: 3214 3680 87.3 %
Date: 2014-06-24 Functions: 283 303 93.4 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1624 2417 67.2 %

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 325
F3_card 1370
Fl_c4c6_to_a4a6 4855
Fl_ell_to_a4a6 4855
FpE_issingular 180
Mod32 404395
PiI2div 6130
Q_numer 355
RHSpol 907
Zec_h_evalx 5
ZtoF2 60
_elleisnum 9300
_elleta 6105
_hell 190
_mul 40
_orderell 220
_sqr 145
addii3 810
addii4 540
addii5 270
akell 500
anell 115
anellsmall 135
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 2007223
cardmod2 310
cardmod3 1270
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 9475
checkcoordch 460
checkell 2129823
checkell5 60581
checkell_Fq 68990
checkell_Q 326335
checkell_Qp 0
checkell_int 635
checkellisog 50
checkellp 2043808
checkellpt 65116
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 182
doellR_roots 282
doellcard 33615
doellff_get_o 625
doellgens 11980
doellglobalred 323710
doellgroup 25945
doellrootno 215
ec_2divpol_evalx 725
ec_LHS_evalQ 2126
ec_dFdx_evalQ 585
ec_dFdy_evalQ 1280
ec_dLHSdy_evalQ 1600
ec_f_evalx 297081
ec_h_evalx 626371
ec_half_deriv_2divpol_evalx 600
ellQ_get_N 700
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 1747
ell_get_CM 310
ell_is_integral 220
ell_over_Fq 140175
ell_reset 190
ell_to_a4a6 2007118
ell_to_a4a6_bc 13855
elladd 2060
ellanal_globalred 620
ellap 1993928
ellap_small_goodred 5055
ellbasechar 230
ellcard 34055
ellcard_ram 1995383
ellchangecurve 205
ellchangeinvert 10
ellchangepoint 215
ellchangepoint0 215
ellchangepointinv 45
ellchangepointinv0 45
elldivpol 455
elldivpol0 775
elldivpol4 635
elleisnum 3065
elleta 30
ellexpo 4
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 324885
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 2956
elllocalred 69985
elllog 90
elllseries 20
ellminimalmodel 70
ellminimalmodel_i 323990
ellmul 55305
ellmul_CM 15
ellmul_CM_aux 15
ellmul_Z 55365
ellneg 5
ellneg_i 75
ellnonsingularmultiple 155
ellomega_agm 177
ellomega_cx 62
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 285
ellrootno_p 330
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 6100
expIxy 23125
exphellagm 735
fix_nftype 25570
gcomposev 30
get_c4c6 135
get_periods 9985
get_toadd 6815
get_u 323740
get_vu_p_small 1580
handle_Q 0
handle_coeff 1619600
hoo_aux 735
init_ch 1842970
initsmall 424070
invcmp 426
is_minimal_ap 1020
is_minimal_ap_small 1420
is_new_torsion 0
is_trivial_change 323815
j_pval 626895
kod_23 160
localred 1160735
localred_23 534180
localred_p 626565
localred_result 1195730
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 2181
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 9300
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