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 to exceed 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.12.0 lcov report (development 23339-b1c33c51a) Lines: 3726 3967 93.9 %
Date: 2018-12-11 05:41:34 Functions: 340 347 98.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
checkell_Qp 0
ellprint 0
ellwp 0
localredbug 0
point_to_a4a6 0
triv_ser 0
zellrealneg 0
bilhell 7
ch_Fp 7
ch_Rg 7
ellQp_P2t_err 7
ellexpo 7
ellheightmatrix 7
CM_factor 14
ec_3divpol_evalx 14
elllseries 14
ellmul_CM 14
ellmul_CM_aux 14
elltaniyama 14
ellwpseries 14
zell_closest_0 14
bilhell_i 21
ellQ_bsd 21
ellchangeinvert 21
ellpadicheightmatrix 21
zellrealpos 21
ellheight_C 28
ellminimaldisc 28
ellnf_veceta 28
min_set_2 28
ch_Qp 35
ellQ_tamagawa 35
ellheightpairing 35
ellnf_vecarea 35
ellnf_vecomega 35
nfrestrict23 35
zellcx 35
ellnf_bsd 42
elltamagawa 42
myroundr 42
ellneg_i 49
ellperiods 49
ellsub 49
bnf_get_v 56
ellQp_t2P 56
ellnfminimalmodel 56
ellnfminimalmodel_i 56
zell_i 56
ellbsd 63
ellchangepointinv 63
ellchangepointinv0 63
doellR_eta 70
ellpadicheight0 70
ellQ_rootno 84
ellR_eta 84
elleta 84
real_prec 84
ellnf_height 98
ellnf_vec_wrap 98
ellpointnfembed 98
ellQp_P2t 112
ch_Fq 119
ch_FF 126
ellsea 126
ellQ_height 133
_hell 140
elllog 140
min_set_3 140
neron_3 140
doellnfrootno 147
ellheight0 147
ellnf_rootno_global 147
ellzeta 161
get_r0 161
zell 161
ZtoF2 168
_mul 175
ellrootno 182
ellrootno_3 182
ellwp0 182
ellnfan 189
ellinit_Qp 196
doellR_ab 203
ell_is_integral 203
ellrootno_2 210
neron_2 210
ellnf_reladelicvolume 217
ellheight 231
ellnf_localheight 245
ellnf2isog 252
padic_prec 252
rootnovalp 252
a4a6_ch_Fl 294
elltatepairing 294
get_c4c6 294
point_to_a4a6_Fl 294
ellintegralmodel 301
ellwpseries_aux 301
ellrnfup 322
ellminimaltwistcond 343
ellxn 392
kod_23 392
twist2 392
val_init 392
nf_coordch 420
nf_coordch_rst 420
ellminimaltwist0 448
ellchangepoint 525
ellchangepoint0 525
ec_dFdy_evalQ 532
_sqr 602
ellminimaltwist 609
akell 693
checkell_int 693
doellrootno 700
gcomposev 700
Q_numer 721
apk_good 735
ellneg 735
ellminimalnormu 756
ellnf_adelicvolume 756
ellnf_bsdperiod 756
Q_to_globalred 784
ellnf_D_primes 784
ellnf_tamagawa 784
ellnfglobalred 784
ellQ_get_Nfa 826
ellrootno_p 826
ellminimalprimes 833
Q_to_minimalprimes 847
ellnf_c4c6_primes 861
ellnfembed_free 861
ellnfembed 952
pointell 966
ellwpnum_all 987
ellheightoo 1001
ellnf_get_nf_prec 1050
ellR_ab 1106
ellR_on_neutral 1106
ellR_root 1106
exphellagm 1106
hoo_aux 1106
quad_root 1106
val_aux 1176
ellordinate 1470
ellordinate_i 1470
ec_half_deriv_2divpol_evalx 1519
ellanQ 1533
ellQminimalmodel 1624
ellminimalmodel 1687
ellan 1715
ellanal_globalred 1715
ellrootno_global 1715
slope_samex 1743
ellanQ_zv 1806
ec_2divpol_evalx 1813
cardmod2 1876
F2_card 1897
nfembed_extraprec 2002
cardmod3 2100
ellR_area 2142
F3_card 2240
ellQ_get_CM 2317
ellQ_get_N 2436
ec_dFdx_evalQ 2471
zk_capZ 2506
ellbasechar 2786
sievep_bad 2800
safe_Z_lval 2863
ellinit_nf_to_Fq 3052
ellnf_to_Fq 3073
ellomega_cx 3144
checkellisog 3416
checkell_Q 3619
get_piinv 3619
elldivpol 3871
doellR_omega 4012
ellomega_agm 4012
elldivpol0 4165
direllnf_worker 4372
doellR_roots 4425
elleisnum 4452
nfembedall 4956
ellweilpairing 5236
elldivpol4 5369
ellR_roots 5398
ellR_omega 5425
ec_dmFdy_evalQ 5768
ellinit_Rg 5936
invcmp 6051
doellR_roots_i 7835
eta_correction 8904
_elleta 8939
ellsigma 8974
PiI2div 9016
cxredsl2 9044
cxredsl2_i 9079
handle_Q 9142
get_toadd 9793
reduce_z 9933
ec_bmodel 12595
nf_coordch_st 12922
approx_mod3 13153
elladd 13321
_elleisnum 13573
get_periods 14525
compute_periods 14602
red_modSL2 14602
check_periods 14609
nflocalred_section7 15498
ec_LHS_evalQ 15512
oncurve 15589
check_complex 15673
ellisoncurve 16723
ellgenerators 16842
doellgens 18683
ellff_get_D 18683
ellff_get_m 18683
ellff_get_gens 18760
doellff_get_o 19285
ellff_get_o 19824
ellgroup0 21483
ellgroup_m 21602
ellgroup 22008
ell_to_a4a6_bc 22192
a4a6_ch 22195
ellfromj_simple 22540
set_gamma 23681
approx_mod2 26306
elltwist 28448
ellinit_Fp 29878
expIxy 33537
ellfromj 33817
fix_nftype 36386
ellinit_nf 36960
nfVtoalg 36974
ch_Q 37037
ch_R 37037
doellGm 40656
nflocalred_p 50925
ellff_get_group 61495
ellnflocal 69377
Fq_c4_to_a4 70021
Fq_c4c6_to_a4a6 70022
ell_reset 72191
checkell5 72212
ellchangecurve 72212
coordch 72275
checkcoordch 72793
coordch_uinv 73444
ellff_Gm 80178
ellcard 86931
chk_p 97491
ellQap 98497
ell_to_nfell10 99295
nflocalred_23 99295
nflocalred 101129
ellQap_u 101353
nf_compose_s 109557
nf_coordch_s 109557
FF_ellinit_ns 113972
ellinit_Fq 114049
doellcard 116625
coordch_s 118013
get_uniformizers 150220
nf_compose_u 152985
nf_coordch_uinv 153405
ellff_get_card 162405
nf_compose_r 164143
elljissupersingular 164703
ellissupersingular 164913
ellnfap 168302
nf_coordch_rt 171087
ellff_get_p 179779
nf_compose_st 184163
elllocalred 197078
pola2a4a6 216265
pola1a2 241878
numroots3 244230
ellrandom 244342
ellffmul 248236
ellmul_Z 248712
ellmul 248803
nf_compose_rt 251643
nf_coordch_t 251839
nf_compose_t 253673
nf_coordch_r 267246
checkell_Fq 279734
sievep_good 301381
ellan_get_ap 304181
sievep 304181
Fl_c4c6_to_a4a6 305448
Fl_ell_to_a4a6 305448
Fl_c4_to_a4 305742
checkellpt 307268
ellap_CM_fast 308283
coordch_t 344925
coordch_rst 347480
coordch_st 347480
nftoalg 387408
pola3a6 391622
ellglobalred 453950
ellQ_globalred 454090
get_u 454832
Z_gcd_primes 455693
ellminimalmodel_i 456092
is_trivial_change 456540
ellglobalred_i 458598
ellinit_Q 496762
min_to_ell 503615
Zec_h_evalx 516705
min_get_v 516705
min_set_all 516705
min_set_D 516712
min_set_a 516733
min_set_b 516873
min_set_c 517020
min_set_u 517020
ell_over_Fq 528446
ec_f_evalx 528808
ec_h_evalx 545650
pol2sqrt_23 584563
coordch_r 611170
ellinit 679473
initsmall 683760
initsmall_i 683782
localred_23 704039
base_ring 714048
numroots2 788851
get_vp_u 878850
localred_p 878850
j_pval 879676
aux 888510
aux2 1421882
localred 1582532
get_vp_u_small 1684595
localred_result 1733109
init_ch 2566340
ell_to_a4a6 2808954
c4_to_a4 2809117
c4c6_to_a4a6 2809122
ellcard_ram 2864236
ellap 3017368
checkellp 3340388
ellintegralmodel_i 3620160
checkell 4341412
handle_coeff 18100707

Generated by: LCOV version 1.13