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 20459-9710128) Lines: 3931 4195 93.7 %
Date: 2017-04-28 05:33:48 Functions: 346 355 97.5 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
CM_factor 12
E_gcompose_r 138690
E_gcompose_rt 213006
E_gcompose_s 93624
E_gcompose_st 155988
E_gcompose_t 214446
E_gcompose_u 129504
F2_card 1254
F3_card 2550
Fl_c4_to_a4 236352
Fl_c4c6_to_a4a6 236034
Fl_ell_to_a4a6 236034
FpE_issingular 216
Fq_c4_to_a4 108690
Fq_c4c6_to_a4a6 108690
PiI2div 7662
Q_numer 282
Qp_agm2_sequence 180
Qp_ascending_Landen 48
Qp_descending_Landen 258
Tate_prec 498
Z_gcd_primes 389868
Zec_h_evalx 1003188
ZtoF2 96
_elleisnum 11562
_elleta 7602
_hell 186
_mul 150
_sqr 528
a4a6_ch 18953
a4a6_ch_Fl 318
addii3 972
addii4 648
addii5 324
akell 594
apk_good 630
approx_mod2 22572
approx_mod3 11286
aux 761742
aux2 1218852
base_ring 606666
bilhell 6
bilhell_i 18
bnf_get_v 42
c4_to_a4 2327032
c4c6_to_a4a6 2327032
cardmod2 1236
cardmod3 2430
ch_FF 108
ch_Fp 6
ch_Fq 102
ch_Q 31518
ch_Qp 6
ch_R 31518
ch_Rg 24
check_complex 13272
check_periods 12432
check_real 11772
checkcoordch 61920
checkell 3464172
checkell5 61632
checkell_Fq 239520
checkell_Q 3318
checkell_Qp 0
checkell_int 594
checkellisog 1896
checkellp 2614694
checkellpt 263422
chk_p 83559
compute_periods 12426
coordch 62100
coordch_r 750816
coordch_rst 298014
coordch_rt 145638
coordch_s 194760
coordch_st 308508
coordch_t 509544
coordch_uinv 192018
cxredsl2 7638
doellQp_Tate 78
doellQp_ab 234
doellQp_root 192
doellR_ab 60
doellR_eta 54
doellR_omega 684
doellR_roots 774
doellcard 98726
doellff_get_o 786
doellgens 14424
doellgroup 33228
doellrootno 588
ec_2divpol_evalx 1242
ec_LHS_evalQ 13302
ec_bmodel 3252
ec_dFdx_evalQ 1158
ec_dFdy_evalQ 456
ec_dmFdy_evalQ 4692
ec_f_evalx 656904
ec_h_evalx 671304
ec_half_deriv_2divpol_evalx 1074
ellQ_bsd 18
ellQ_get_CM 1896
ellQ_get_N 6870
ellQ_get_Nfa 504
ellQ_globalred 389364
ellQ_tamagawa 30
ellQap 84492
ellQap_u 86628
ellQminimalmodel 1218
ellQp_AGM 126
ellQp_L 0
ellQp_P2t 96
ellQp_P2t_err 6
ellQp_Tate_uniformization 570
ellQp_ab 90
ellQp_q 90
ellQp_root 390
ellQp_t2P 48
ellQp_u 144
ellQp_u2 48
ellR_ab 834
ellR_area 96
ellR_eta 66
ellR_omega 1566
ellR_on_neutral 834
ellR_root 834
ellR_roots 1608
ell_is_integral 240
ell_over_Fq 473614
ell_reset 61614
ell_to_a4a6 2326906
ell_to_a4a6_bc 18952
elladd 11532
ellan 888
ellanQ 684
ellanQ_zv 1248
ellan_get_ap 235356
ellanal_globalred 1800
ellap 2503620
ellap_CM_fast 238122
ellbasechar 1314
ellbsd 48
ellcard 75410
ellcard_ram 2375028
ellchangecurve 61632
ellchangeinvert 18
ellchangepoint 240
ellchangepoint0 240
ellchangepointinv 54
ellchangepointinv0 54
elldivpol 1830
elldivpol0 3864
elldivpol4 3240
elleisnum 3804
elleta 66
ellexpo 6
ellff_get_card 135872
ellff_get_gens 14490
ellff_get_group 33690
ellff_get_o 1044
ellff_get_p 154292
ellffmul 212548
ellformaldifferential 60
ellformaldifferential_i 360
ellformalexp 60
ellformallog 126
ellformallogsigma_t 174
ellformalpoint 60
ellformalpoint_i 294
ellformalw 492
ellfromj 28986
ellfromj_simple 19320
ellgen 1512
ellgenerators 14436
ellglobalred 388464
ellglobalred_i 397980
ellgroup 19524
ellgroup0 18282
ellgroup_m 19572
ellheight 114
ellheight0 30
ellheightmatrix 6
ellheightoo 744
ellheightpairing 30
ellinit 577170
ellinit_Fp 25097
ellinit_Fq 96685
ellinit_Q 424782
ellinit_Qp 78
ellinit_Rg 282
ellinit_nf 30936
ellinit_nf_to_Fq 2586
ellintegralmodel 168
ellintegralmodel_i 391992
ellisoncurve 14340
ellissupersingular 141324
elljissupersingular 141174
elllocalred 167274
elllog 114
elllseries 12
ellminimaldisc 18
ellminimalmodel 1266
ellminimalmodel_i 390996
ellminimalnormu 30
ellminimalprimes 84
ellminimaltwist 426
ellminimaltwist0 378
ellminimaltwistcond 198
ellmul 213034
ellmul_CM 12
ellmul_CM_aux 12
ellmul_Z 212986
ellneg 708
ellneg_i 42
ellnf_D_primes 108
ellnf_bsd 30
ellnf_c4c6_primes 192
ellnf_tamagawa 48
ellnf_to_Fq 2586
ellnf_vec_wrap 54
ellnf_vecarea 18
ellnf_veceta 18
ellnf_vecomega 18
ellnfan 210
ellnfap 192990
ellnfbsdperiod 30
ellnfembed 84
ellnfembed_free 84
ellnfglobalred 108
ellnflocal 109140
ellnfminimalmodel 42
ellnfminimalmodel_i 42
ellnonsingularmultiple 186
ellomega_agm 684
ellomega_cx 222
ellordinate 1746
ellordinate_i 1746
ellpadicbil 6
ellpadicfrobenius 150
ellpadicheight 186
ellpadicheight0 60
ellpadicheightmatrix 24
ellpadiclog 12
ellpadics2 18
ellperiods 12
ellprint 0
ellrandom 209196
ellrootno 36
ellrootno_2 144
ellrootno_3 192
ellrootno_global 1512
ellrootno_p 738
ellsea 30
ellsigma 7662
ellsub 42
elltamagawa 30
elltaniyama 12
elltatepairing 252
elltwist 24330
ellweilpairing 4488
ellwp 0
ellwp0 150
ellwpnum_all 840
ellwpseries 12
ellwpseries_aux 258
ellxn 324
ellzeta 132
eta_correction 7596
expIxy 28686
exphellagm 834
fix_nftype 30936
gcomposev 408
get_c4c6 252
get_periods 12366
get_piinv 690
get_r0 138
get_slope 8082
get_toadd 8436
get_u 389676
get_uniformizers 126258
get_vp_u 752994
get_vp_u_small 1442244
handle_Q 624
handle_coeff 1959960
hoo_aux 834
init_ch 2797680
initsmall 577860
invcmp 756
is_trivial_change 390960
j_pval 753732
kod_23 336
localred 1355076
localred_23 602292
localred_p 752994
localred_result 1481544
localredbug 0
log_prec 6
logsigma_prec 174
min_get_v 1003188
min_set_2 24
min_set_3 120
min_set_D 1003194
min_set_a 1003212
min_set_all 1003188
min_set_b 1003332
min_set_c 1003458
min_set_u 1003458
min_to_ell 991974
myroundr 36
neron_2 144
neron_3 156
nfVtoalg 30948
nflocalred 84108
nflocalred_23 84024
nflocalred_p 42234
nflocalred_section7 13284
nfrestrict23 24
nftoalg 1078224
numroots2 676188
numroots3 209406
oncurve 13368
padic_prec 102
parse_p 180
point_to_a4a6 0
point_to_a4a6_Fl 318
pointell 828
pol2sqrt_23 495696
pola1a2 204882
pola2a4a6 183504
pola3a6 332010
precp_fix 258
quad_root 834
real_prec 66
red_modSL2 12426
reduce_z 8472
rellg 6372
safe_Z_lval 2214
set_gamma 20064
sievep 235356
sievep_bad 2088
sievep_good 233268
slope_samex 1548
tfromx 174
triv_ser 0
trueE 11562
twist2 312
val_aux 1008
val_init 336
xmP 324
zell 108
zell_closest_0 0
zellcx 6
zellrealneg 0
zellrealpos 6
zk_capZ 492

Generated by: LCOV version 1.11