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 17236-ec2ebc9) Lines: 3136 3461 90.6 %
Date: 2014-12-19 Functions: 279 294 94.9 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1530 2160 70.8 %

Function Name Sort by function name Hit count Sort by hit count
CM_factor 14
E_compose_r 248493
E_compose_rst 260701
E_compose_t 234640
E_compose_u 0
F2_card 406
F3_card 1876
Fl_c4_to_a4 134635
Fl_c4c6_to_a4a6 134215
Fl_ell_to_a4a6 134215
FpE_issingular 252
Mod32 566216
PiI2div 8904
Q_numer 329
Zec_h_evalx 7
ZtoF2 84
_elleisnum 13489
_elleta 8869
_hell 217
_mul 175
_sqr 595
a4a6_ch 21651
a4a6_ch_Fl 420
addii3 1134
addii4 756
addii5 378
akell 693
anell 133
anellsmall 413
apk_good 735
approx_mod2 0
approx_mod3 0
aux 829045
aux2 1347080
base_ring 600138
bilhell 7
bilhell_i 21
c4_to_a4 2712738
c4c6_to_a4a6 2712738
cardmod2 385
cardmod3 1736
ch_FF 126
ch_Fp 7
ch_Fq 119
ch_Q 133
ch_Qp 7
ch_R 133
ch_Rg 7
check_periods 14455
check_real 13734
checkcoordch 616
checkell 2973017
checkell5 280
checkell_Fq 96649
checkell_Q 456589
checkell_Qp 0
checkell_int 1106
checkellisog 70
checkellp 2760688
checkellpt 92811
chk_p 95809
composev_r 248493
composev_rst 260701
composev_s 67130
composev_st 97461
composev_t 246435
composev_u 0
compute_periods 14448
coordch 273
coordch_r 509467
coordch_rst 260974
coordch_s 111426
coordch_st 260974
coordch_t 328685
coordch_u 315
do_padic_agm 119
doellQp_Tate_uniformization 49
doellQp_ab 126
doellQp_root 161
doellR_ab 70
doellR_eta 28
doellR_omega 239
doellR_roots 337
doellcard 49462
doellff_get_o 896
doellgens 16793
doellglobalred 453194
doellgroup 38668
doellrootno 301
ec_2divpol_evalx 1015
ec_LHS_evalQ 2896
ec_bmodel 1597
ec_dFdx_evalQ 819
ec_dFdy_evalQ 504
ec_dmFdy_evalQ 4186
ec_f_evalx 416218
ec_h_evalx 878050
ec_half_deriv_2divpol_evalx 840
ellQ_get_CM 658
ellQ_get_N 945
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 973
ellR_eta 42
ellR_omega 1253
ellR_on_neutral 973
ellR_root 973
ellR_roots 1317
ell_is_integral 301
ell_over_Fq 199017
ell_reset 259
ell_to_a4a6 2712591
ell_to_a4a6_bc 21651
elladd 3248
ellanal_globalred 868
ellap 2669331
ellap_CM_fast 134789
ellbasechar 322
ellcard 50036
ellcard_ram 2671354
ellchangecurve 280
ellchangeinvert 14
ellchangepoint 280
ellchangepoint0 280
ellchangepointinv 63
ellchangepointinv0 63
elldivpol 784
elldivpol0 3206
elldivpol4 1659
elleisnum 4438
elleta 42
ellexpo 7
ellff_get_card 66087
ellff_get_gens 16870
ellff_get_group 39158
ellff_get_o 1176
ellff_get_p 87514
ellffmul 77371
ellformaldifferential 21
ellformaldifferential_i 273
ellformalexp 21
ellformallog 49
ellformallogsigma_t 203
ellformalpoint 21
ellformalpoint_i 294
ellformalw 329
ellfromj 33642
ellfromj_simple 22379
ellgen 1764
ellgenerators 16821
ellglobalred 452956
ellglobalred_all 453208
ellglobalred_i 454804
ellgroup 22680
ellgroup0 21294
ellgroup_m 22778
ellheight 126
ellheight0 28
ellheightmatrix 7
ellheightoo 868
ellheightpairing 35
ellinit 602357
ellinit_Fp 28539
ellinit_Fq 45857
ellinit_Q 492044
ellinit_Qp 56
ellinit_Rg 91
ellinit_nf 35910
ellinit_nf_to_Fq 2492
ellintegralmodel 453495
ellisoncurve 4128
ellissupersingular 164507
elljissupersingular 164507
elllocalred 97972
elllog 126
elllseries 14
ellminimalmodel 105
ellminimalmodel_i 453593
ellmul 77854
ellmul_CM 14
ellmul_CM_aux 14
ellmul_Z 77854
ellneg 343
ellneg_i 49
ellnonsingularmultiple 217
ellomega_agm 232
ellomega_cx 71
ellordinate 1295
ellordinate_i 1295
ellpadicbil 7
ellpadicfrobenius 175
ellpadicheight 217
ellpadicheight0 70
ellpadicheightmatrix 28
ellpadiclog 14
ellpadics2 21
ellperiods 14
ellprint 0
ellrandom 93611
ellrootno 42
ellrootno_2 154
ellrootno_3 84
ellrootno_global 539
ellrootno_p 469
ellsigma 8904
ellsub 49
elltaniyama 14
elltatepairing 203
ellweilpairing 252
ellwp 0
ellwp0 140
ellwpnum_all 966
ellwpseries 14
ellwpseries_aux 196
ellxn 259
ellzeta 119
eta_correction 8862
expIxy 33418
exphellagm 973
fix_nftype 35910
gcomposev 49
get_c4c6 189
get_periods 14413
get_toadd 9828
get_u 453236
get_vu_p_small 2240
handle_Q 0
handle_coeff 2267475
hoo_aux 973
init_ch 2580165
initsmall 602497
invcmp 465
is_minimal_ap 973
is_minimal_ap_small 2002
is_trivial_change 453348
j_pval 877667
kod_23 238
localred 1625015
localred_23 747838
localred_p 877198
localred_result 1674015
localredbug 0
log_prec 7
logsigma_prec 203
min_get_v 453236
min_set_2 28
min_set_3 140
min_set_D 453243
min_set_a 453264
min_set_b 453404
min_set_c 453551
min_set_u 453551
min_to_ell 453243
myroundr 42
neron_2 154
neron_3 70
nfVtoalg 35917
nflocalred 48979
nflocalred_p 48979
nftoalg 181671
numroots2 745815
numroots3 228165
oncurve 2973
padic_mod 420
padic_prec 77
parse_p 210
point_to_a4a6 0
point_to_a4a6_Fl 420
pointell 896
precp_fix 301
quad_root 973
real_prec 77
red_modSL2 14441
redtausl2 8911
reduce_z 9863
rellg 7434
set_gamma 23352
tfromx 203
triv_ser 0
trueE 13489
val_aux 714
val_init 238
xmP 378
zell 42
zellQp 28
zell_closest_0 0
zellcx 7
zellrealneg 0
zellrealpos 7

Generated by: LCOV version 1.9