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 16962-5a32637) Lines: 3073 3399 90.4 %
Date: 2014-10-29 Functions: 278 293 94.9 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1504 2128 70.7 %

Function Name Sort by function name Hit count Sort by hit count
CM_factor 14
E_compose_r 248479
E_compose_rst 260694
E_compose_t 234633
E_compose_u 0
F2_card 399
F3_card 1862
Fl_c4_to_a4 134096
Fl_c4c6_to_a4a6 133837
Fl_ell_to_a4a6 133837
FpE_issingular 252
Mod32 566132
PiI2div 8610
Q_numer 308
Zec_h_evalx 7
ZtoF2 84
_elleisnum 13048
_elleta 8575
_hell 217
_mul 42
_sqr 175
a4a6_ch 19173
a4a6_ch_Fl 259
addii3 1134
addii4 756
addii5 378
akell 693
anell 133
anellsmall 406
apk_good 735
approx_mod2 0
approx_mod3 0
aux 829024
aux2 1346968
base_ring 599998
bilhell 7
bilhell_i 21
c4_to_a4 2707943
c4c6_to_a4a6 2707943
cardmod2 378
cardmod3 1722
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 2963223
checkell5 280
checkell_Fq 96649
checkell_Q 456904
checkell_Qp 0
checkell_int 1099
checkellisog 70
checkellp 2756047
checkellpt 90752
chk_p 95809
composev_r 248479
composev_rst 260694
composev_s 67123
composev_st 97454
composev_t 246428
composev_u 0
compute_periods 14007
coordch 273
coordch_r 509446
coordch_rst 260967
coordch_s 111419
coordch_st 260967
coordch_t 328678
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 232
doellR_roots 323
doellcard 47145
doellff_get_o 896
doellgens 16793
doellglobalred 453180
doellgroup 36351
doellrootno 294
ec_2divpol_evalx 1015
ec_LHS_evalQ 2895
ec_bmodel 1191
ec_dFdx_evalQ 819
ec_dFdy_evalQ 504
ec_dmFdy_evalQ 3808
ec_f_evalx 415783
ec_h_evalx 876313
ec_half_deriv_2divpol_evalx 840
ellQ_get_CM 644
ellQ_get_N 924
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 1246
ellR_on_neutral 966
ellR_root 1995
ellR_roots 2262
ell_is_integral 301
ell_over_Fq 196378
ell_reset 259
ell_to_a4a6 2707796
ell_to_a4a6_bc 19173
elladd 2688
ellanal_globalred 854
ellap 2669324
ellap_CM_fast 134397
ellbasechar 322
ellcard 47719
ellcard_ram 2671347
ellchangecurve 280
ellchangeinvert 14
ellchangepoint 273
ellchangepoint0 273
ellchangepointinv 63
ellchangepointinv0 63
elldivpol 630
elldivpol0 1085
elldivpol4 882
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 82880
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 452949
ellglobalred_all 453194
ellglobalred_i 454762
ellgroup 20363
ellgroup0 21294
ellgroup_m 20461
ellheight 119
ellheight0 21
ellheightmatrix 7
ellheightoo 868
ellheightpairing 35
ellinit 599739
ellinit_Fp 26061
ellinit_Fq 45857
ellinit_Q 492016
ellinit_Qp 56
ellinit_Rg 91
ellinit_nf 35798
ellinit_nf_to_Fq 14
ellintegralmodel 453460
ellisoncurve 4134
ellissupersingular 164507
elljissupersingular 164507
elllocalred 97972
elllog 126
elllseries 14
ellminimalmodel 98
ellminimalmodel_i 453558
ellmul 77532
ellmul_CM 14
ellmul_CM_aux 14
ellmul_Z 77532
ellneg 35
ellneg_i 49
ellnonsingularmultiple 217
ellomega_agm 225
ellomega_cx 71
ellordinate 875
ellordinate_i 875
ellpadicbil 7
ellpadicfrobenius 175
ellpadicheight 217
ellpadicheight0 70
ellpadicheightmatrix 28
ellpadiclog 14
ellpadics2 21
ellperiods 14
ellprint 0
ellrandom 93611
ellrootno 35
ellrootno_2 140
ellrootno_3 84
ellrootno_global 525
ellrootno_p 462
ellsigma 8610
ellsub 49
elltaniyama 14
elltatepairing 203
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 453215
get_vu_p_small 2212
handle_Q 0
handle_coeff 2267300
hoo_aux 966
init_ch 2580109
initsmall 599879
invcmp 402
is_minimal_ap 973
is_minimal_ap_small 1988
is_trivial_change 453320
j_pval 877646
kod_23 224
localred 1624987
localred_23 747817
localred_p 877184
localred_result 1673980
localredbug 0
log_prec 7
logsigma_prec 203
min_get_v 453215
min_set_2 21
min_set_3 140
min_set_D 453215
min_set_a 453236
min_set_b 453376
min_set_c 453523
min_set_u 453523
min_to_ell 453215
myroundr 42
neron_2 140
neron_3 70
nfVtoalg 35805
nflocalred 48979
nflocalred_p 48979
nftoalg 179081
numroots2 745759
numroots3 228158
oncurve 2972
padic_mod 420
padic_prec 77
parse_p 210
point_to_a4a6 0
point_to_a4a6_Fl 259
pointell 896
precp_fix 301
quad_root 966
real_prec 77
red_modSL2 14000
redtausl2 8617
reduce_z 9569
rellg 7434
set_gamma 22617
tfromx 203
triv_ser 0
trueE 13048
val_aux 672
val_init 224
xmP 378
zell 42
zellQp 28
zell_closest_0 0
zellcx 7
zellrealneg 0
zellrealpos 7

Generated by: LCOV version 1.9