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 16912-212c0f0) Lines: 3216 3681 87.4 %
Date: 2014-10-20 Functions: 282 303 93.1 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1632 2421 67.4 %

Function Name Sort by function name Hit count Sort by hit count
CM_factor 14
E_compose_r 248479
E_compose_rst 260684
E_compose_t 234623
E_compose_u 0
F2_card 389
F3_card 1837
Fl_c4c6_to_a4a6 133402
Fl_ell_to_a4a6 133402
FpE_issingular 252
Mod32 566092
PiI2div 8610
Q_numer 308
RHSpol 1171
Zec_h_evalx 7
ZtoF2 84
_elleisnum 13048
_elleta 8575
_hell 217
_mul 42
_orderell 301
_sqr 175
addii3 1134
addii4 756
addii5 378
akell 693
anell 133
anellsmall 396
apk_good 735
approx_mod2 0
approx_mod3 0
aux 828994
aux2 1346948
base_ring 583188
best_in_cycle 163
bilhell 7
bilhell_i 21
c4c6_to_a4a6 2688770
cardmod2 368
cardmod3 1697
ch_FF 126
ch_Fp 7
ch_Fq 119
ch_Q 133
ch_Qp 7
ch_R 133
ch_Rg 7
check_periods 14014
check_real 13293
checkcoordch 609
checkell 2945785
checkell5 280
checkell_Fq 96649
checkell_Q 456844
checkell_Qp 0
checkell_int 1089
checkellisog 70
checkellp 2739237
checkellpt 90654
chk_p 95809
composev_r 248479
composev_rst 260684
composev_s 67123
composev_st 97454
composev_t 246418
composev_u 0
compute_periods 14007
coordch 273
coordch_r 509436
coordch_rst 260957
coordch_s 111409
coordch_st 260957
coordch_t 328668
coordch_u 308
do_padic_agm 119
doellQp_Tate_uniformization 49
doellQp_ab 126
doellQp_root 161
doellR_ab 63
doellR_eta 28
doellR_omega 222
doellR_roots 313
doellcard 47145
doellff_get_o 896
doellgens 16793
doellglobalred 453160
doellgroup 36351
doellrootno 284
ec_2divpol_evalx 1015
ec_LHS_evalQ 2895
ec_dFdx_evalQ 819
ec_dFdy_evalQ 1792
ec_dLHSdy_evalQ 2011
ec_f_evalx 415758
ec_h_evalx 876263
ec_half_deriv_2divpol_evalx 840
ellQ_get_N 894
ellQ_get_Nfa 35
ellQp_Tate_uniformization 84
ellQp_ab 28
ellQp_q 0
ellQp_root 168
ellQp_u 28
ellQp_u2 0
ellR_ab 966
ellR_eta 42
ellR_omega 1236
ellR_on_neutral 966
ellR_root 1995
ellR_roots 2252
ell_get_CM 624
ell_is_integral 301
ell_over_Fq 196378
ell_reset 259
ell_to_a4a6 2688623
ell_to_a4a6_bc 19432
elladd 2688
ellanal_globalred 834
ellap 2669314
ellap_small_goodred 133937
ellbasechar 322
ellcard 47719
ellcard_ram 2671337
ellchangecurve 280
ellchangeinvert 14
ellchangepoint 273
ellchangepoint0 273
ellchangepointinv 63
ellchangepointinv0 63
elldivpol 625
elldivpol0 1085
elldivpol4 877
elleisnum 4291
elleta 42
ellexpo 7
ellff_get_card 63770
ellff_get_gens 16870
ellff_get_group 36841
ellff_get_o 1176
ellff_get_p 66080
ellffmul 77371
ellformaldifferential 21
ellformaldifferential_i 273
ellformalexp 21
ellformallog 49
ellformallogsigma_t 203
ellformalpoint 21
ellformalpoint_i 294
ellformalw 329
ellfromj 16842
ellfromj_simple 5586
ellgen 1764
ellgenerators 16821
ellglobalred 452939
ellglobalred_all 453174
ellglobalred_i 454702
ellgroup 20363
ellgroup0 21294
ellgroup_m 20461
ellheight 119
ellheight0 21
ellheightmatrix 7
ellheightoo 868
ellheightpairing 35
ellinit 582929
ellinit_Fp 26061
ellinit_Fq 29057
ellinit_Q 492006
ellinit_Qp 56
ellinit_Rg 91
ellinit_nf 35798
ellinit_nf_to_Fq 14
ellintegralmodel 453430
ellisoncurve 4134
elllocalred 97972
elllog 126
elllseries 14
ellminimalmodel 88
ellminimalmodel_i 453518
ellmul 77462
ellmul_CM 14
ellmul_CM_aux 14
ellmul_Z 77532
ellneg 7
ellneg_i 77
ellnonsingularmultiple 217
ellomega_agm 215
ellomega_cx 71
ellorder 2569
ellordinate 350
ellordinate_i 860
ellpadicbil 7
ellpadicfrobenius 175
ellpadicheight 217
ellpadicheight0 70
ellpadicheightmatrix 28
ellpadiclog 14
ellpadics2 21
ellperiods 14
ellprint 0
ellrandom 93611
ellrootno 35
ellrootno_2 135
ellrootno_3 84
ellrootno_global 505
ellrootno_p 442
ellsigma 8610
ellsub 49
elltaniyama 14
elltatepairing 203
elltors 228
elltors0 133
elltors_divpol 228
elltors_doud 0
ellweilpairing 252
ellwp 0
ellwp0 140
ellwpnum_all 966
ellwpseries 14
ellwpseries_aux 196
ellzeta 119
eta_correction 8568
expIxy 32389
exphellagm 966
fix_nftype 35798
gcomposev 42
get_c4c6 189
get_periods 13972
get_toadd 9534
get_u 453195
get_vu_p_small 2182
handle_Q 0
handle_coeff 2267150
hoo_aux 966
init_ch 2580029
initsmall 583069
invcmp 402
is_minimal_ap 973
is_minimal_ap_small 1963
is_new_torsion 0
is_trivial_change 453290
j_pval 877596
kod_23 219
localred 1624937
localred_23 747797
localred_p 877154
localred_result 1673930
localredbug 0
log_prec 7
logsigma_prec 203
min_get_v 453195
min_set_2 21
min_set_3 140
min_set_D 453195
min_set_a 453216
min_set_b 453356
min_set_c 453503
min_set_u 453503
min_to_ell 453195
myround 0
myroundr 42
nagelllutz 0
neron_2 135
neron_3 70
nfVtoalg 35805
nflocalred 48979
nflocalred_p 48979
nftoalg 179081
numroots2 745749
numroots3 228148
oncurve 2972
orderell 0
padic_mod 420
padic_prec 77
parse_p 210
pointell 896
precp_fix 301
quad_root 966
ratroot 0
real_prec 77
red_modSL2 14000
redtausl2 8617
reduce_z 9569
rellg 7434
set_gamma 22617
smaller_x 189
t2points 135
tfromx 203
tors 228
torsbound 228
torspnt 0
tpoint 184
triv_ser 0
trueE 13048
val_aux 657
val_init 219
xmP 378
zell 42
zellQp 28
zell_closest_0 0
zellcx 7
zellrealneg 0
zellrealpos 7

Generated by: LCOV version 1.9