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 - elliptic.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 18888-55e726a) Lines: 3262 3585 91.0 %
Date: 2016-04-30 Functions: 293 308 95.1 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1647 2290 71.9 %

Function Name Sort by function name Hit count Sort by hit count
CM_factor 14
E_compose_r 248843
E_compose_rst 261149
E_compose_t 234906
E_compose_u 0
F2_card 1197
F3_card 2807
Fl_c4_to_a4 443237
Fl_c4c6_to_a4a6 442817
Fl_ell_to_a4a6 442817
FpE_issingular 252
Mod32 567525
PiI2div 8904
Q_numer 329
Zec_h_evalx 7
ZtoF2 112
_elleisnum 13489
_elleta 8869
_hell 217
_mul 175
_sqr 609
a4a6_ch 51205
a4a6_ch_Fl 420
addii3 1134
addii4 756
addii5 378
akell 693
anell 644
anellsmall 1267
apk_good 735
approx_mod2 0
approx_mod3 0
aux 830550
aux2 1348942
base_ring 631250
bilhell 7
bilhell_i 21
c4_to_a4 2746004
c4c6_to_a4a6 2746004
cardmod2 1176
cardmod3 2667
ch_FF 126
ch_Fp 7
ch_Fq 119
ch_Q 539
ch_Qp 7
ch_R 539
ch_Rg 7
check_complex 15533
check_periods 14469
check_real 13734
checkcoordch 616
checkell 3151146
checkell5 280
checkell_Fq 123984
checkell_Q 459711
checkell_Qp 0
checkell_int 1960
checkellisog 2212
checkellp 2863803
checkellpt 93844
chk_p 97298
composev_r 248843
composev_rst 261149
composev_s 67221
composev_st 97615
composev_t 246764
composev_u 0
compute_periods 14462
coordch 273
coordch_r 510265
coordch_rst 261422
coordch_s 111601
coordch_st 261422
coordch_t 329161
coordch_u 406
do_padic_agm 119
doellQp_Tate_uniformization 49
doellQp_ab 126
doellQp_root 161
doellR_ab 70
doellR_eta 28
doellR_omega 568
doellR_roots 666
doellcard 121301
doellff_get_o 903
doellgens 16800
doellglobalred 453866
doellgroup 38696
doellrootno 623
ec_2divpol_evalx 1449
ec_LHS_evalQ 2947
ec_bmodel 3165
ec_dFdx_evalQ 1351
ec_dFdy_evalQ 532
ec_dmFdy_evalQ 5299
ec_f_evalx 417333
ec_h_evalx 881272
ec_half_deriv_2divpol_evalx 1253
ellQ_get_CM 1785
ellQ_get_N 7252
ellQ_get_Nfa 322
ellQp_Tate_uniformization 84
ellQp_ab 28
ellQp_q 0
ellQp_root 168
ellQp_u 28
ellQp_u2 0
ellR_ab 973
ellR_eta 42
ellR_omega 1596
ellR_on_neutral 973
ellR_root 973
ellR_roots 1646
ell_is_integral 301
ell_over_Fq 226772
ell_reset 259
ell_to_a4a6 2745856
ell_to_a4a6_bc 51206
elladd 3402
ellan_get_ap 445148
ellanal_globalred 1701
ellap 2772112
ellap_CM_fast 444798
ellbasechar 1533
ellcard 50279
ellcard_ram 2675358
ellchangecurve 280
ellchangeinvert 14
ellchangepoint 280
ellchangepoint0 280
ellchangepointinv 63
ellchangepointinv0 63
elldivpol 1960
elldivpol0 3787
elldivpol4 3108
elleisnum 4438
elleta 42
ellexpo 7
ellff_get_card 165121
ellff_get_gens 16877
ellff_get_group 39193
ellff_get_o 1183
ellff_get_p 186583
ellffmul 77749
ellformaldifferential 21
ellformaldifferential_i 273
ellformalexp 21
ellformallog 49
ellformallogsigma_t 203
ellformalpoint 21
ellformalpoint_i 294
ellformalw 329
ellfromj 33817
ellfromj_simple 22540
ellgen 1764
ellgenerators 16828
ellglobalred 453180
ellglobalred_all 453880
ellglobalred_i 462455
ellgroup 22708
ellgroup0 21301
ellgroup_m 22792
ellheight 126
ellheight0 28
ellheightmatrix 7
ellheightoo 868
ellheightpairing 35
ellinit 677471
ellinit_Fp 58147
ellinit_Fq 88534
ellinit_Q 494795
ellinit_Qp 56
ellinit_Rg 126
ellinit_nf 35952
ellinit_nf_to_Fq 46900
ellintegralmodel 454587
ellisoncurve 4158
ellissupersingular 164738
elljissupersingular 164703
elllocalred 98196
elllog 126
elllseries 14
ellminimalmodel 938
ellminimalmodel_i 455217
ellminimaltwist 238
ellminimaltwist0 189
ellminimaltwistcond 224
ellmul 78246
ellmul_CM 14
ellmul_CM_aux 14
ellmul_Z 78246
ellneg 357
ellneg_i 49
ellnonsingularmultiple 217
ellomega_agm 561
ellomega_cx 99
ellordinate 1715
ellordinate_i 1715
ellpadicbil 7
ellpadicfrobenius 175
ellpadicheight 217
ellpadicheight0 70
ellpadicheightmatrix 28
ellpadiclog 14
ellpadics2 21
ellperiods 14
ellprint 0
ellrandom 93632
ellrootno 42
ellrootno_2 189
ellrootno_3 189
ellrootno_global 1372
ellrootno_p 784
ellsea 28
ellsigma 8904
ellsub 49
elltaniyama 14
elltatepairing 294
elltwist 27839
ellweilpairing 280
ellwp 0
ellwp0 140
ellwpnum_all 980
ellwpseries 14
ellwpseries_aux 196
ellxn 259
ellzeta 119
eta_correction 8862
expIxy 33418
exphellagm 973
fix_nftype 35952
gcomposev 140
get_c4c6 189
get_periods 14427
get_slope 3227
get_toadd 9835
get_u 454055
get_vu_p_small 3717
handle_Q 0
handle_coeff 2272935
hoo_aux 973
init_ch 2583812
initsmall 677610
invcmp 549
is_minimal_ap 973
is_minimal_ap_small 3339
is_trivial_change 455000
j_pval 879011
kod_23 378
localred 1627248
localred_23 749042
localred_p 878227
localred_result 1676248
localredbug 0
log_prec 7
logsigma_prec 203
min_get_v 454055
min_set_2 28
min_set_3 140
min_set_D 454062
min_set_a 454083
min_set_b 454223
min_set_c 454370
min_set_u 454370
min_to_ell 454062
myroundr 42
neron_2 189
neron_3 154
nfVtoalg 35959
nflocalred 48979
nflocalred_p 48979
nftoalg 181860
numroots2 746837
numroots3 228606
oncurve 3024
padic_mod 420
padic_prec 77
parse_p 210
point_to_a4a6 0
point_to_a4a6_Fl 420
pointell 910
precp_fix 301
quad_root 973
real_prec 77
red_modSL2 14455
redtausl2 8911
reduce_z 9877
rellg 7434
safe_Z_pval 1946
set_gamma 23366
sievep 445148
sievep_bad 2310
sievep_good 442838
slope_samex 1750
smod2BIL 56
tfromx 203
triv_ser 0
trueE 13489
val_aux 1134
val_init 378
xmP 378
zell 42
zellQp 28
zell_closest_0 0
zellcx 7
zellrealneg 0
zellrealpos 7

Generated by: LCOV version 1.9