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 20916-a74d914) Lines: 4159 4425 94.0 %
Date: 2017-08-18 06:23:59 Functions: 370 379 97.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
CM_factor 14
F2_card 1491
F3_card 3017
Fl_c4_to_a4 276482
Fl_c4c6_to_a4a6 276111
Fl_ell_to_a4a6 276111
FpE_issingular 252
Fq_c4_to_a4 70273
Fq_c4c6_to_a4a6 70273
PiI2div 9002
Q_numer 329
Q_to_globalred 784
Q_to_minimalprimes 833
Qp_agm2_sequence 210
Qp_ascending_Landen 56
Qp_descending_Landen 301
Tate_prec 581
Z_gcd_primes 455490
Zec_h_evalx 1170428
ZtoF2 112
_elleisnum 13545
_elleta 8925
_hell 217
_mul 175
_sqr 616
a4a6_ch 22738
a4a6_ch_Fl 371
addii3 1134
addii4 756
addii5 378
akell 693
apk_good 735
approx_mod2 26306
approx_mod3 13153
aux 888699
aux2 1421994
base_ring 711362
bilhell 7
bilhell_i 21
bnf_get_v 49
c4_to_a4 2715861
c4c6_to_a4a6 2715862
cardmod2 1470
cardmod3 2877
ch_FF 126
ch_Fp 7
ch_Fq 119
ch_Q 36771
ch_Qp 7
ch_R 36771
ch_Rg 28
check_complex 15540
check_periods 14567
check_real 13790
checkcoordch 72730
checkell 4047713
checkell5 72149
checkell_Fq 279440
checkell_Q 3514
checkell_Qp 0
checkell_int 693
checkellisog 3248
checkellp 3052448
checkellpt 308257
chk_p 99645
compute_periods 14560
coordch 72198
coordch_r 611149
coordch_rst 347452
coordch_s 117992
coordch_st 347452
coordch_t 344925
coordch_uinv 73052
cxredsl2 8939
doellQp_Tate 91
doellQp_ab 273
doellQp_root 224
doellR_ab 203
doellR_eta 70
doellR_omega 3809
doellR_roots 4208
doellcard 115038
doellff_get_o 917
doellgens 16828
doellgroup 38850
doellnfrootno 147
doellrootno 686
ec_2divpol_evalx 1687
ec_3divpol_evalx 14
ec_LHS_evalQ 15519
ec_bmodel 8975
ec_dFdx_evalQ 2205
ec_dFdy_evalQ 532
ec_dmFdy_evalQ 6139
ec_f_evalx 529466
ec_h_evalx 546973
ec_half_deriv_2divpol_evalx 1491
ellQ_bsd 21
ellQ_get_CM 2275
ellQ_get_N 8015
ellQ_get_Nfa 588
ellQ_globalred 454279
ellQ_height 133
ellQ_rootno 42
ellQ_tamagawa 35
ellQap 98574
ellQap_u 101136
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 1106
ellR_area 2114
ellR_eta 84
ellR_omega 4865
ellR_on_neutral 1106
ellR_root 1106
ellR_roots 5181
ell_is_integral 280
ell_over_Fq 553173
ell_reset 72128
ell_to_a4a6 2715714
ell_to_a4a6_bc 22737
ell_to_nfell10 99218
elladd 13524
ellan 1036
ellanQ 854
ellanQ_zv 1512
ellan_get_ap 275187
ellanal_globalred 2100
ellap 2922248
ellap_CM_fast 278617
ellbasechar 2450
ellbsd 63
ellcard 88508
ellcard_ram 2771146
ellchangecurve 72149
ellchangeinvert 21
ellchangepoint 525
ellchangepoint0 525
ellchangepointinv 63
ellchangepointinv0 63
elldivpol 3731
elldivpol0 4585
elldivpol4 5439
elleisnum 4438
elleta 84
ellexpo 7
ellff_get_card 158872
ellff_get_gens 16905
ellff_get_group 39389
ellff_get_o 1218
ellff_get_p 180446
ellffmul 248512
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 453971
ellglobalred_i 464331
ellgroup 22862
ellgroup0 21329
ellgroup_m 22918
ellheight 224
ellheight0 126
ellheight_C 28
ellheightmatrix 7
ellheightoo 1001
ellheightpairing 35
ellinit 677031
ellinit_Fp 29874
ellinit_Fq 113022
ellinit_Q 495684
ellinit_Qp 91
ellinit_Rg 5894
ellinit_nf 36911
ellinit_nf_to_Fq 3024
ellintegralmodel 196
ellintegralmodel_i 458983
ellisoncurve 16730
ellissupersingular 164878
elljissupersingular 164703
elllocalred 195153
elllog 133
elllseries 14
ellminimaldisc 21
ellminimalmodel 1477
ellminimalmodel_i 456183
ellminimalnormu 756
ellminimalprimes 819
ellminimaltwist 497
ellminimaltwist0 441
ellminimaltwistcond 231
ellmul 249079
ellmul_CM 14
ellmul_CM_aux 14
ellmul_Z 249024
ellneg 826
ellneg_i 49
ellnf2isog 252
ellnf_D_primes 784
ellnf_adelicvolume 756
ellnf_bsd 42
ellnf_bsdperiod 756
ellnf_c4c6_primes 847
ellnf_height 91
ellnf_localheight 245
ellnf_reladelicvolume 217
ellnf_rootno_global 147
ellnf_tamagawa 784
ellnf_to_Fq 3024
ellnf_vec_wrap 84
ellnf_vecarea 28
ellnf_veceta 28
ellnf_vecomega 28
ellnfan 189
ellnfap 168462
ellnfembed 931
ellnfembed_free 840
ellnfglobalred 784
ellnflocal 69538
ellnfminimalmodel 49
ellnfminimalmodel_i 49
ellnonsingularmultiple 217
ellomega_agm 3809
ellomega_cx 2990
ellordinate 2100
ellordinate_i 2100
ellpadicbil 7
ellpadicfrobenius 175
ellpadicheight 217
ellpadicheight0 70
ellpadicheightmatrix 28
ellpadiclog 14
ellpadics2 21
ellperiods 42
ellpointnfembed 91
ellprint 0
ellrandom 244062
ellrnfup 322
ellrootno 140
ellrootno_2 168
ellrootno_3 224
ellrootno_global 2030
ellrootno_p 861
ellsea 35
ellsigma 8967
ellsub 49
elltamagawa 42
elltaniyama 14
elltatepairing 294
elltwist 28385
ellweilpairing 5236
ellwp 0
ellwp0 175
ellwpnum_all 980
ellwpseries 14
ellwpseries_aux 301
ellxn 392
ellzeta 154
eta_correction 8890
expIxy 33586
exphellagm 1106
fix_nftype 36337
gcomposev 476
get_c4c6 294
get_periods 14483
get_piinv 3556
get_r0 161
get_slope 9471
get_toadd 9870
get_u 454643
get_uniformizers 150122
get_vp_u 878514
get_vp_u_small 1682730
handle_Q 5222
handle_coeff 2294915
hoo_aux 1106
init_ch 3267376
initsmall 681476
invcmp 3258
is_trivial_change 456141
j_pval 879375
kod_23 392
localred 1580964
localred_23 702695
localred_p 878514
localred_result 1731331
localredbug 0
log_prec 7
logsigma_prec 203
min_get_v 1170428
min_set_2 28
min_set_3 140
min_set_D 1170435
min_set_a 1170456
min_set_all 1170428
min_set_b 1170596
min_set_c 1170743
min_set_u 1170743
min_to_ell 1157345
myroundr 42
neron_2 168
neron_3 182
nfVtoalg 36925
nf_compose_r 164045
nf_compose_rt 251538
nf_compose_s 109550
nf_compose_st 184114
nf_compose_t 253610
nf_compose_u 152943
nf_coordch 420
nf_coordch_r 267162
nf_coordch_rst 420
nf_coordch_rt 171059
nf_coordch_s 109550
nf_coordch_st 12901
nf_coordch_t 251783
nf_coordch_uinv 153363
nflocalred 101052
nflocalred_23 99218
nflocalred_p 50904
nflocalred_section7 15498
nfrestrict23 28
nftoalg 386904
numroots2 788886
numroots3 244307
oncurve 15596
padic_prec 119
parse_p 210
point_to_a4a6 0
point_to_a4a6_Fl 371
pointell 966
pol2sqrt_23 584423
pola1a2 241787
pola2a4a6 216216
pola3a6 391531
precp_fix 301
quad_root 1106
real_prec 77
red_modSL2 14560
reduce_z 9912
rellg 7434
rootnovalp 252
safe_Z_lval 2583
set_gamma 23499
sievep 275187
sievep_bad 2506
sievep_good 272681
slope_samex 1848
tfromx 203
triv_ser 0
trueE 13545
twist2 364
val_aux 1176
val_init 392
xmP 378
zell 154
zell_closest_0 0
zellcx 35
zellrealneg 0
zellrealpos 7
zk_capZ 2478

Generated by: LCOV version 1.11