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 17110-9967e23) Lines: 3119 3444 90.6 %
Date: 2014-11-26 Functions: 279 294 94.9 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1524 2152 70.8 %

Function Name Sort by function name Hit count Sort by hit count
CM_factor 10
E_compose_r 177495
E_compose_rst 186215
E_compose_t 167600
E_compose_u 0
F2_card 290
F3_card 1340
Fl_c4_to_a4 96163
Fl_c4c6_to_a4a6 95863
Fl_ell_to_a4a6 95863
FpE_issingular 180
Mod32 404435
PiI2div 6360
Q_numer 220
Zec_h_evalx 5
ZtoF2 60
_elleisnum 9635
_elleta 6335
_hell 155
_mul 125
_sqr 425
a4a6_ch 15465
a4a6_ch_Fl 300
addii3 810
addii4 540
addii5 270
akell 495
anell 95
anellsmall 295
apk_good 525
approx_mod2 0
approx_mod3 0
aux 592175
aux2 962200
base_ring 428665
bilhell 5
bilhell_i 15
c4_to_a4 1937670
c4c6_to_a4a6 1937670
cardmod2 275
cardmod3 1240
ch_FF 90
ch_Fp 5
ch_Fq 85
ch_Q 95
ch_Qp 5
ch_R 95
ch_Rg 5
check_periods 10325
check_real 9810
checkcoordch 435
checkell 2123581
checkell5 200
checkell_Fq 69035
checkell_Q 326125
checkell_Qp 0
checkell_int 790
checkellisog 50
checkellp 1971920
checkellpt 66281
chk_p 68435
composev_r 177495
composev_rst 186215
composev_s 47950
composev_st 69615
composev_t 176025
composev_u 0
compute_periods 10320
coordch 195
coordch_r 363905
coordch_rst 186410
coordch_s 79590
coordch_st 186410
coordch_t 234775
coordch_u 220
do_padic_agm 85
doellQp_Tate_uniformization 35
doellQp_ab 90
doellQp_root 115
doellR_ab 45
doellR_eta 20
doellR_omega 171
doellR_roots 236
doellcard 35330
doellff_get_o 640
doellgens 11995
doellglobalred 323710
doellgroup 27620
doellrootno 215
ec_2divpol_evalx 725
ec_LHS_evalQ 2061
ec_bmodel 1126
ec_dFdx_evalQ 585
ec_dFdy_evalQ 360
ec_dmFdy_evalQ 2985
ec_f_evalx 297291
ec_h_evalx 627161
ec_half_deriv_2divpol_evalx 600
ellQ_get_CM 470
ellQ_get_N 675
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 690
ellR_eta 30
ellR_omega 895
ellR_on_neutral 690
ellR_root 1425
ellR_roots 1621
ell_is_integral 215
ell_over_Fq 142155
ell_reset 185
ell_to_a4a6 1937565
ell_to_a4a6_bc 15465
elladd 2320
ellanal_globalred 620
ellap 1906665
ellap_CM_fast 96273
ellbasechar 230
ellcard 35740
ellcard_ram 1908110
ellchangecurve 200
ellchangeinvert 10
ellchangepoint 195
ellchangepoint0 195
ellchangepointinv 45
ellchangepointinv0 45
elldivpol 560
elldivpol0 2290
elldivpol4 1185
elleisnum 3170
elleta 30
ellexpo 5
ellff_get_card 47205
ellff_get_gens 12050
ellff_get_group 27970
ellff_get_o 840
ellff_get_p 62510
ellffmul 55265
ellformaldifferential 15
ellformaldifferential_i 195
ellformalexp 15
ellformallog 35
ellformallogsigma_t 145
ellformalpoint 15
ellformalpoint_i 210
ellformalw 235
ellfromj 24030
ellfromj_simple 15985
ellgen 1260
ellgenerators 12015
ellglobalred 323540
ellglobalred_all 323720
ellglobalred_i 324860
ellgroup 16200
ellgroup0 15210
ellgroup_m 16270
ellheight 85
ellheight0 15
ellheightmatrix 5
ellheightoo 620
ellheightpairing 25
ellinit 430250
ellinit_Fp 20385
ellinit_Fq 32755
ellinit_Q 351455
ellinit_Qp 40
ellinit_Rg 65
ellinit_nf 25650
ellinit_nf_to_Fq 1780
ellintegralmodel 323920
ellisoncurve 2946
ellissupersingular 117505
elljissupersingular 117505
elllocalred 69980
elllog 90
elllseries 10
ellminimalmodel 75
ellminimalmodel_i 323990
ellmul 55610
ellmul_CM 10
ellmul_CM_aux 10
ellmul_Z 55610
ellneg 245
ellneg_i 35
ellnonsingularmultiple 155
ellomega_agm 166
ellomega_cx 51
ellordinate 925
ellordinate_i 925
ellpadicbil 5
ellpadicfrobenius 125
ellpadicheight 155
ellpadicheight0 50
ellpadicheightmatrix 20
ellpadiclog 10
ellpadics2 15
ellperiods 10
ellprint 0
ellrandom 66865
ellrootno 30
ellrootno_2 110
ellrootno_3 60
ellrootno_global 385
ellrootno_p 335
ellsigma 6360
ellsub 35
elltaniyama 10
elltatepairing 145
ellweilpairing 180
ellwp 0
ellwp0 100
ellwpnum_all 690
ellwpseries 10
ellwpseries_aux 140
ellxn 185
ellzeta 85
eta_correction 6330
expIxy 23870
exphellagm 690
fix_nftype 25650
gcomposev 30
get_c4c6 135
get_periods 10295
get_toadd 7020
get_u 323735
get_vu_p_small 1600
handle_Q 0
handle_coeff 1619600
hoo_aux 690
init_ch 1842975
initsmall 430350
invcmp 288
is_minimal_ap 695
is_minimal_ap_small 1430
is_trivial_change 323815
j_pval 626905
kod_23 170
localred 1160725
localred_23 534170
localred_p 626570
localred_result 1195725
localredbug 0
log_prec 5
logsigma_prec 145
min_get_v 323735
min_set_2 20
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
myroundr 30
neron_2 110
neron_3 50
nfVtoalg 25655
nflocalred 34985
nflocalred_p 34985
nftoalg 129765
numroots2 532725
numroots3 162975
oncurve 2116
padic_mod 300
padic_prec 55
parse_p 150
point_to_a4a6 0
point_to_a4a6_Fl 300
pointell 640
precp_fix 215
quad_root 690
real_prec 55
red_modSL2 10315
redtausl2 6365
reduce_z 7045
rellg 5310
set_gamma 16680
tfromx 145
triv_ser 0
trueE 9635
val_aux 510
val_init 170
xmP 270
zell 30
zellQp 20
zell_closest_0 0
zellcx 5
zellrealneg 0
zellrealpos 5

Generated by: LCOV version 1.9