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.10.0 lcov report (development 20422-b487f4d) Lines: 3914 4180 93.6 %
Date: 2017-03-22 05:51:54 Functions: 342 351 97.4 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
CM_factor 14
E_gcompose_r 161805
E_gcompose_rt 248507
E_gcompose_s 109228
E_gcompose_st 181986
E_gcompose_t 250187
E_gcompose_u 151088
F2_card 1463
F3_card 2975
Fl_c4_to_a4 275782
Fl_c4c6_to_a4a6 275362
Fl_ell_to_a4a6 275362
FpE_issingular 252
Fq_c4_to_a4 126805
Fq_c4c6_to_a4a6 126805
PiI2div 8904
Q_numer 329
Qp_agm2_sequence 210
Qp_ascending_Landen 56
Qp_descending_Landen 301
Tate_prec 581
Z_gcd_primes 454846
Zec_h_evalx 1170386
ZtoF2 112
_elleisnum 13489
_elleta 8869
_hell 217
_mul 175
_sqr 616
a4a6_ch 22373
a4a6_ch_Fl 420
addii3 1134
addii4 756
addii5 378
akell 693
apk_good 735
approx_mod2 26334
approx_mod3 13167
aux 888699
aux2 1421994
base_ring 707679
bilhell 7
bilhell_i 21
bnf_get_v 49
c4_to_a4 2715427
c4c6_to_a4a6 2715427
cardmod2 1442
cardmod3 2835
ch_FF 126
ch_Fp 7
ch_Fq 119
ch_Q 36771
ch_Qp 7
ch_R 36771
ch_Rg 28
check_complex 15484
check_periods 14469
check_real 13734
checkcoordch 72240
checkell 4041806
checkell5 71904
checkell_Fq 279440
checkell_Q 3871
checkell_Qp 0
checkell_int 693
checkellisog 2212
checkellp 3051025
checkellpt 306902
chk_p 97260
compute_periods 14462
coordch 72450
coordch_r 875952
coordch_rst 347683
coordch_rt 169911
coordch_s 227220
coordch_st 359926
coordch_t 594468
coordch_uinv 224021
cxredsl2 8911
doellQp_Tate 91
doellQp_ab 273
doellQp_root 224
doellR_ab 70
doellR_eta 28
doellR_omega 694
doellR_roots 799
doellcard 115435
doellff_get_o 917
doellgens 16828
doellgroup 39060
doellrootno 686
ec_2divpol_evalx 1449
ec_LHS_evalQ 15519
ec_bmodel 3690
ec_dFdx_evalQ 1351
ec_dFdy_evalQ 532
ec_dmFdy_evalQ 5474
ec_f_evalx 766388
ec_h_evalx 782775
ec_half_deriv_2divpol_evalx 1253
ellQ_bsd 21
ellQ_get_CM 2212
ellQ_get_N 8015
ellQ_get_Nfa 588
ellQ_globalred 454258
ellQ_tamagawa 35
ellQap 98574
ellQap_u 101066
ellQminimalmodel 1421
ellQp_AGM 147
ellQp_L 0
ellQp_P2t 112
ellQp_P2t_err 7
ellQp_Tate_uniformization 665
ellQp_ab 105
ellQp_q 105
ellQp_root 455
ellQp_t2P 56
ellQp_u 168
ellQp_u2 56
ellR_ab 973
ellR_area 77
ellR_eta 42
ellR_omega 1722
ellR_on_neutral 973
ellR_root 973
ellR_roots 1772
ell_is_integral 301
ell_over_Fq 552832
ell_reset 71883
ell_to_a4a6 2715280
ell_to_a4a6_bc 22373
elladd 13454
ellan 1036
ellanQ 798
ellanQ_zv 1456
ellan_get_ap 274571
ellanal_globalred 2100
ellap 2920890
ellap_CM_fast 277798
ellbasechar 1533
ellbsd 56
ellcard 88233
ellcard_ram 2770866
ellchangecurve 71904
ellchangeinvert 21
ellchangepoint 280
ellchangepoint0 280
ellchangepointinv 63
ellchangepointinv0 63
elldivpol 2135
elldivpol0 4508
elldivpol4 3780
elleisnum 4438
elleta 42
ellexpo 7
ellff_get_card 158772
ellff_get_gens 16905
ellff_get_group 39599
ellff_get_o 1218
ellff_get_p 180556
ellffmul 247912
ellformaldifferential 70
ellformaldifferential_i 420
ellformalexp 70
ellformallog 147
ellformallogsigma_t 203
ellformalpoint 70
ellformalpoint_i 343
ellformalw 574
ellfromj 33817
ellfromj_simple 22540
ellgen 1764
ellgenerators 16842
ellglobalred 453208
ellglobalred_i 464310
ellgroup 23072
ellgroup0 21329
ellgroup_m 23128
ellheight 133
ellheight0 35
ellheightmatrix 7
ellheightoo 868
ellheightpairing 35
ellinit 673589
ellinit_Fp 29542
ellinit_Fq 112761
ellinit_Q 495579
ellinit_Qp 91
ellinit_Rg 224
ellinit_nf 36092
ellinit_nf_to_Fq 3339
ellintegralmodel 21
ellintegralmodel_i 457149
ellisoncurve 16730
ellissupersingular 164878
elljissupersingular 164703
elllocalred 195153
elllog 133
elllseries 14
ellminimaldisc 21
ellminimalmodel 1477
ellminimalmodel_i 456162
ellminimalnormu 35
ellminimalprimes 98
ellminimaltwist 497
ellminimaltwist0 441
ellminimaltwistcond 231
ellmul 248529
ellmul_CM 14
ellmul_CM_aux 14
ellmul_Z 248472
ellneg 413
ellneg_i 49
ellnf_D_primes 126
ellnf_bsd 35
ellnf_c4c6_primes 224
ellnf_tamagawa 56
ellnf_to_Fq 3339
ellnfan 245
ellnfap 225155
ellnfbsdperiod 35
ellnfembed 35
ellnfembed_free 35
ellnfglobalred 126
ellnflocal 127330
ellnfminimalmodel 49
ellnfminimalmodel_i 49
ellnonsingularmultiple 217
ellomega_agm 694
ellomega_cx 197
ellordinate 2037
ellordinate_i 2037
ellpadicbil 7
ellpadicfrobenius 175
ellpadicheight 217
ellpadicheight0 70
ellpadicheightmatrix 28
ellpadiclog 14
ellpadics2 21
ellperiods 14
ellprint 0
ellrandom 244062
ellrootno 42
ellrootno_2 168
ellrootno_3 224
ellrootno_global 1764
ellrootno_p 861
ellsea 35
ellsigma 8939
ellsub 49
elltamagawa 35
elltaniyama 14
elltatepairing 294
elltwist 28385
ellweilpairing 5236
ellwp 0
ellwp0 175
ellwpnum_all 980
ellwpseries 14
ellwpseries_aux 301
ellxn 378
ellzeta 154
eta_correction 8862
expIxy 33432
exphellagm 973
fix_nftype 36092
gcomposev 476
get_c4c6 294
get_periods 14427
get_piinv 805
get_r0 161
get_slope 9429
get_toadd 9842
get_u 454622
get_uniformizers 147301
get_vp_u 878493
get_vp_u_small 1682618
handle_Q 728
handle_coeff 2285745
hoo_aux 973
init_ch 3263960
initsmall 674289
invcmp 822
is_trivial_change 456120
j_pval 879354
kod_23 392
localred 1580922
localred_23 702674
localred_p 878493
localred_result 1728468
localredbug 0
log_prec 7
logsigma_prec 203
min_get_v 1170386
min_set_2 28
min_set_3 140
min_set_D 1170393
min_set_a 1170414
min_set_all 1170386
min_set_b 1170554
min_set_c 1170701
min_set_u 1170701
min_to_ell 1157303
myroundr 42
neron_2 168
neron_3 182
nfVtoalg 36106
nflocalred 98126
nflocalred_23 98028
nflocalred_p 49273
nflocalred_section7 15498
nfrestrict23 28
nftoalg 1257928
numroots2 788886
numroots3 244307
oncurve 15596
padic_prec 119
parse_p 210
point_to_a4a6 0
point_to_a4a6_Fl 420
pointell 966
pol2sqrt_23 578312
pola1a2 239029
pola2a4a6 214088
pola3a6 387345
precp_fix 301
quad_root 973
real_prec 77
red_modSL2 14462
reduce_z 9884
rellg 7434
safe_Z_lval 2583
set_gamma 23373
sievep 274571
sievep_bad 2436
sievep_good 272135
slope_samex 1806
tfromx 203
triv_ser 0
trueE 13489
twist2 364
val_aux 1176
val_init 392
xmP 378
zell 126
zell_closest_0 0
zellcx 7
zellrealneg 0
zellrealpos 7
zk_capZ 574

Generated by: LCOV version 1.11