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 16804-345a01c) Lines: 3214 3680 87.3 %
Date: 2014-09-20 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 21
E_compose_r 248479
E_compose_rst 260701
E_compose_t 234633
E_compose_u 0
F2_card 441
F3_card 1904
Fl_c4c6_to_a4a6 134656
Fl_ell_to_a4a6 134656
FpE_issingular 252
Mod32 566153
PiI2div 8610
Q_numer 497
RHSpol 1261
Zec_h_evalx 7
ZtoF2 84
_elleisnum 13048
_elleta 8575
_hell 266
_mul 56
_orderell 308
_sqr 203
addii3 1134
addii4 756
addii5 378
akell 700
anell 161
anellsmall 448
apk_good 742
approx_mod2 0
approx_mod3 0
aux 829024
aux2 1346968
base_ring 593845
best_in_cycle 175
bilhell 14
bilhell_i 42
c4c6_to_a4a6 2688945
cardmod2 420
cardmod3 1764
ch_FF 126
ch_Fp 7
ch_Fq 119
ch_Q 140
ch_Qp 7
ch_R 140
ch_Rg 7
check_periods 14021
check_real 13293
checkcoordch 644
checkell 2944420
checkell5 287
checkell_Fq 96628
checkell_Q 457128
checkell_Qp 0
checkell_int 1148
checkellisog 70
checkellp 2739373
checkellpt 91241
chk_p 95767
composev_r 248479
composev_rst 260701
composev_s 67123
composev_st 97454
composev_t 246428
composev_u 0
compute_periods 14014
coordch 280
coordch_r 509460
coordch_rst 260981
coordch_s 111426
coordch_st 260981
coordch_t 328678
coordch_u 315
do_padic_agm 119
doellQp_Tate_uniformization 49
doellQp_ab 126
doellQp_root 161
doellR_ab 84
doellR_eta 28
doellR_omega 253
doellR_roots 386
doellcard 47082
doellff_get_o 889
doellgens 16786
doellglobalred 453194
doellgroup 36344
doellrootno 301
ec_2divpol_evalx 1015
ec_LHS_evalQ 2999
ec_dFdx_evalQ 819
ec_dFdy_evalQ 1792
ec_dLHSdy_evalQ 2240
ec_f_evalx 415936
ec_h_evalx 876942
ec_half_deriv_2divpol_evalx 840
ellQ_get_N 938
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 1029
ellR_eta 42
ellR_omega 1274
ellR_on_neutral 1029
ellR_root 2142
ellR_roots 2444
ell_get_CM 693
ell_is_integral 308
ell_over_Fq 196350
ell_reset 266
ell_to_a4a6 2688798
ell_to_a4a6_bc 19397
elladd 2884
ellanal_globalred 868
ellap 2669506
ellap_small_goodred 135286
ellbasechar 322
ellcard 47677
ellcard_ram 2671543
ellchangecurve 287
ellchangeinvert 14
ellchangepoint 301
ellchangepoint0 301
ellchangepointinv 63
ellchangepointinv0 63
elldivpol 637
elldivpol0 1085
elldivpol4 889
elleisnum 4291
elleta 42
ellexpo 7
ellff_get_card 63707
ellff_get_gens 16863
ellff_get_group 36820
ellff_get_o 1162
ellff_get_p 66010
ellffmul 77357
ellformaldifferential 21
ellformaldifferential_i 273
ellformalexp 21
ellformallog 49
ellformallogsigma_t 203
ellformalpoint 21
ellformalpoint_i 294
ellformalw 329
ellfromj 16793
ellfromj_simple 5537
ellgen 1764
ellgenerators 16814
ellglobalred 452956
ellglobalred_all 453208
ellglobalred_i 454797
ellgroup 20349
ellgroup0 21287
ellgroup_m 20461
ellheight 182
ellheight0 21
ellheightmatrix 14
ellheightoo 868
ellheightpairing 49
ellinit 593579
ellinit_Fp 26019
ellinit_Fq 39676
ellinit_Q 492079
ellinit_Qp 56
ellinit_Rg 91
ellinit_nf 35798
ellinit_nf_to_Fq 14
ellintegralmodel 453488
ellisoncurve 4161
elllocalred 97979
elllog 126
elllseries 28
ellminimalmodel 98
ellminimalmodel_i 453586
ellmul 77462
ellmul_CM 21
ellmul_CM_aux 21
ellmul_Z 77539
ellneg 7
ellneg_i 105
ellnonsingularmultiple 217
ellomega_agm 246
ellomega_cx 85
ellorder 2562
ellordinate 357
ellordinate_i 910
ellpadicbil 14
ellpadicfrobenius 175
ellpadicheight 217
ellpadicheight0 70
ellpadicheightmatrix 35
ellpadiclog 14
ellpadics2 21
ellperiods 14
ellprint 0
ellrandom 93604
ellrootno 35
ellrootno_2 140
ellrootno_3 84
ellrootno_global 539
ellrootno_p 469
ellsigma 8610
ellsub 70
elltaniyama 21
elltatepairing 203
elltors 245
elltors0 133
elltors_divpol 245
elltors_doud 0
ellweilpairing 252
ellwp 0
ellwp0 140
ellwpnum_all 973
ellwpseries 28
ellwpseries_aux 210
ellzeta 119
eta_correction 8568
expIxy 32403
exphellagm 1029
fix_nftype 35798
gcomposev 42
get_c4c6 189
get_periods 13979
get_toadd 9541
get_u 453236
get_vu_p_small 2268
handle_Q 0
handle_coeff 2267440
hoo_aux 1029
init_ch 2580165
initsmall 593719
invcmp 570
is_minimal_ap 980
is_minimal_ap_small 2044
is_new_torsion 0
is_trivial_change 453341
j_pval 877667
kod_23 224
localred 1625036
localred_23 747852
localred_p 877198
localred_result 1674029
localredbug 0
log_prec 7
logsigma_prec 203
min_get_v 453236
min_set_2 21
min_set_3 140
min_set_D 453236
min_set_a 453257
min_set_b 453397
min_set_c 453544
min_set_u 453544
min_to_ell 453236
myround 0
myroundr 63
nagelllutz 0
neron_2 140
neron_3 70
nfVtoalg 35805
nflocalred 48979
nflocalred_p 48979
nftoalg 179081
numroots2 745759
numroots3 228158
oncurve 3076
orderell 7
padic_mod 420
padic_prec 77
parse_p 210
pointell 903
precp_fix 301
quad_root 1029
ratroot 0
real_prec 77
red_modSL2 14007
redtausl2 8638
reduce_z 9576
rellg 7434
set_gamma 22645
smaller_x 203
t2points 147
tfromx 203
tors 245
torsbound 245
torspnt 0
tpoint 196
triv_ser 0
trueE 13048
val_aux 672
val_init 224
xmP 378
zell 56
zellQp 28
zell_closest_0 0
zellcx 7
zellrealneg 0
zellrealpos 21

Generated by: LCOV version 1.9