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 19374-ac31b96) Lines: 3614 3894 92.8 %
Date: 2016-08-30 06:11:37 Functions: 315 326 96.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
CM_factor 14
E_gcompose_r 161700
E_gcompose_rt 248360
E_gcompose_s 109221
E_gcompose_st 181895
E_gcompose_t 250075
E_gcompose_u 151011
F2_card 1428
F3_card 2926
Fl_c4_to_a4 438616
Fl_c4c6_to_a4a6 438196
Fl_ell_to_a4a6 438196
FpE_issingular 252
Fq_c4_to_a4 135156
Fq_c4c6_to_a4a6 135156
PiI2div 8904
Q_numer 329
Zec_h_evalx 1169406
ZtoF2 112
_elleisnum 13489
_elleta 8869
_hell 217
_mul 175
_sqr 609
a4a6_ch 22027
a4a6_ch_Fl 420
addii3 1134
addii4 756
addii5 378
akell 693
apk_good 735
approx_mod2 26208
approx_mod3 13104
aux 887537
aux2 1421210
base_ring 667248
bilhell 7
bilhell_i 21
bnf_get_v 28
c4_to_a4 2716810
c4c6_to_a4a6 2716810
cardmod2 1407
cardmod3 2786
ch_FF 126
ch_Fp 7
ch_Fq 119
ch_Q 36344
ch_Qp 7
ch_R 36344
ch_Rg 14
check_complex 15540
check_periods 14476
check_real 13734
checkcoordch 72226
checkell 3357167
checkell5 71890
checkell_Fq 124012
checkell_Q 457814
checkell_Qp 0
checkell_int 693
checkellisog 2212
checkellp 3014764
checkellpt 93959
chk_p 97228
compute_periods 14469
coordch 72394
coordch_r 875469
coordch_rst 347459
coordch_rt 169848
coordch_s 227150
coordch_st 359653
coordch_t 594195
coordch_u 223545
do_padic_agm 196
doellQp_Tate_uniformization 91
doellQp_ab 189
doellQp_root 168
doellR_ab 70
doellR_eta 28
doellR_omega 568
doellR_roots 666
doellcard 77487
doellff_get_o 903
doellgens 16800
doellglobalred 453887
doellgroup 38696
doellrootno 630
ec_2divpol_evalx 1449
ec_LHS_evalQ 2947
ec_bmodel 3165
ec_dFdx_evalQ 1351
ec_dFdy_evalQ 532
ec_dmFdy_evalQ 5355
ec_f_evalx 753102
ec_h_evalx 763077
ec_half_deriv_2divpol_evalx 1253
ellQ_get_CM 1939
ellQ_get_N 7525
ellQ_get_Nfa 322
ellQap 98546
ellQap_u 100996
ellQminimalmodel 945
ellQp_L 0
ellQp_Tate_uniformization 161
ellQp_ab 70
ellQp_q 0
ellQp_root 280
ellQp_u 56
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 226790
ell_reset 71869
ell_to_a4a6 2716663
ell_to_a4a6_bc 22027
elladd 3437
ellan 1043
ellanQ 805
ellanQ_zv 1421
ellan_get_ap 440975
ellanal_globalred 2002
ellap 2922927
ellap_CM_fast 440548
ellbasechar 1533
ellcard 50313
ellcard_ram 2772903
ellchangecurve 71890
ellchangeinvert 21
ellchangepoint 280
ellchangepoint0 280
ellchangepointinv 63
ellchangepointinv0 63
elldivpol 1953
elldivpol0 3752
elldivpol4 3080
elleisnum 4438
elleta 42
ellexpo 7
ellff_get_card 120810
ellff_get_gens 16877
ellff_get_group 39193
ellff_get_o 1183
ellff_get_p 142251
ellffmul 77732
ellformaldifferential 21
ellformaldifferential_i 273
ellformalexp 21
ellformallog 49
ellformallogsigma_t 203
ellformalpoint 21
ellformalpoint_i 294
ellformalw 329
ellfromj 33824
ellfromj_simple 22547
ellgen 1764
ellgenerators 16828
ellglobalred 453180
ellglobalred_all 453901
ellglobalred_i 463029
ellgroup 22708
ellgroup0 21301
ellgroup_m 22792
ellheight 133
ellheight0 35
ellheightmatrix 7
ellheightoo 868
ellheightpairing 35
ellinit 633263
ellinit_Fp 29194
ellinit_Fq 73658
ellinit_Q 494830
ellinit_Qp 70
ellinit_Rg 133
ellinit_nf 36015
ellinit_nf_to_Fq 3003
ellintegralmodel 456078
ellisoncurve 4158
ellissupersingular 164878
elljissupersingular 164703
elllocalred 195531
elllog 126
elllseries 14
ellminimalmodel 980
ellminimalmodel_i 455273
ellminimaltwist 238
ellminimaltwist0 189
ellminimaltwistcond 224
ellmul 78237
ellmul_CM 14
ellmul_CM_aux 14
ellmul_Z 78237
ellneg 357
ellneg_i 49
ellnf_to_Fq 3003
ellnfan 245
ellnfap 233506
ellnflocal 135590
ellnfminimalmodel 28
ellnfminimalmodel_i 28
ellnonsingularmultiple 217
ellomega_agm 561
ellomega_cx 127
ellordinate 1729
ellordinate_i 1729
ellpadicbil 7
ellpadicfrobenius 175
ellpadicheight 217
ellpadicheight0 70
ellpadicheightmatrix 28
ellpadiclog 14
ellpadics2 21
ellperiods 14
ellprint 0
ellrandom 93632
ellrootno 42
ellrootno_2 168
ellrootno_3 196
ellrootno_global 1666
ellrootno_p 798
ellsea 28
ellsigma 8904
ellsub 49
elltaniyama 14
elltatepairing 294
elltwist 27846
ellweilpairing 280
ellwp 0
ellwp0 140
ellwpnum_all 987
ellwpseries 14
ellwpseries_aux 196
ellxn 259
ellzeta 119
eta_correction 8862
expIxy 33432
exphellagm 973
fix_nftype 36015
gcomposev 161
get_c4c6 189
get_periods 14434
get_piinv 62580
get_slope 3262
get_toadd 9842
get_u 454097
get_vp_u 878262
get_vp_u_small 1681834
handle_Q 77
handle_coeff 2280390
hoo_aux 973
init_ch 3262476
initsmall 633900
invcmp 633
is_trivial_change 455077
j_pval 879060
kod_23 364
localred 1580460
localred_23 702219
localred_p 878262
localred_result 1727432
localredbug 0
log_prec 7
logsigma_prec 203
min_get_v 1169406
min_set_2 28
min_set_3 140
min_set_D 1169413
min_set_a 1169434
min_set_all 1169406
min_set_b 1169574
min_set_c 1169721
min_set_u 1169721
min_to_ell 1156323
myroundr 42
neron_2 168
neron_3 154
nfVtoalg 36022
nflocalred 97776
nflocalred_23 97846
nflocalred_p 49105
nflocalred_section7 15498
nfrestrict23 7
nftoalg 1256885
numroots2 788375
numroots3 243999
oncurve 3024
padic_mod 686
padic_prec 98
parse_p 210
point_to_a4a6 0
point_to_a4a6_Fl 420
pointell 917
pol2sqrt_23 578053
pola1a2 238938
pola2a4a6 213997
pola3a6 387170
precp_fix 301
quad_root 973
real_prec 77
red_modSL2 14462
redtausl2 8911
reduce_z 9884
rellg 7434
safe_Z_pval 1946
set_gamma 23373
sievep 440975
sievep_bad 2394
sievep_good 438581
slope_samex 1778
smod2BIL 56
tfromx 203
triv_ser 0
trueE 13489
val_aux 1092
val_init 364
xmP 378
zell 91
zellQp 77
zell_closest_0 0
zellcx 7
zellrealneg 0
zellrealpos 7

Generated by: LCOV version 1.11