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 21921-ca7d0c8) Lines: 3674 3925 93.6 %
Date: 2018-02-20 06:16:13 Functions: 331 339 97.6 %
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
zell_closest_0 0
zellrealneg 0
bilhell 7
ch_Fp 7
ch_Qp 7
ellQp_P2t_err 7
ellexpo 7
ellheightmatrix 7
zellrealpos 7
CM_factor 14
ec_3divpol_evalx 14
elllseries 14
ellmul_CM 14
ellmul_CM_aux 14
elltaniyama 14
ellwpseries 14
bilhell_i 21
ellQ_bsd 21
ellchangeinvert 21
ellpadicheightmatrix 21
ellheight_C 28
ellminimaldisc 28
ellnf_vecarea 28
ellnf_veceta 28
min_set_2 28
ch_Rg 35
ellQ_tamagawa 35
ellheightpairing 35
ellnf_vecomega 35
nfrestrict23 35
zellcx 35
ellQ_rootno 42
ellnf_bsd 42
ellperiods 42
elltamagawa 42
myroundr 42
ellneg_i 49
ellsub 49
bnf_get_v 56
ellQp_t2P 56
ellnfminimalmodel 56
ellnfminimalmodel_i 56
ellbsd 63
ellchangepointinv 63
ellchangepointinv0 63
doellR_eta 70
ellpadicheight0 70
ellsea 70
real_prec 77
ellR_eta 84
elleta 84
ellnf_vec_wrap 91
ellpointnfembed 91
ellnf_height 98
ellQp_P2t 112
neron_3 112
ch_Fq 119
ZtoF2 126
ch_FF 126
ellinit_Qp 126
ellQ_height 133
elllog 133
_hell 140
ellrootno 140
min_set_3 140
doellnfrootno 147
ellheight0 147
ellnf_rootno_global 147
ellrootno_3 147
ellzeta 154
padic_prec 154
zell 154
ellrootno_2 161
get_r0 161
neron_2 161
_mul 175
ellwp0 182
ellnfan 189
doellR_ab 203
ell_is_integral 203
ellnf_reladelicvolume 217
ellintegralmodel 224
ellheight 231
ellminimaltwistcond 231
ellnf_localheight 245
ellnf2isog 252
rootnovalp 252
a4a6_ch_Fl 294
elltatepairing 294
get_c4c6 294
point_to_a4a6_Fl 294
ellwpseries_aux 301
kod_23 308
val_init 308
ellrnfup 322
Q_numer 329
twist2 364
ellxn 392
nf_coordch 420
nf_coordch_rst 420
ellminimaltwist0 441
ellminimaltwist 497
ellchangepoint 525
ellchangepoint0 525
ec_dFdy_evalQ 532
gcomposev 574
ellQ_get_Nfa 588
_sqr 602
doellrootno 616
akell 693
checkell_int 693
apk_good 735
ellneg 735
ellminimalnormu 756
ellnf_adelicvolume 756
ellnf_bsdperiod 756
ellrootno_p 770
Q_to_globalred 784
ellnf_D_primes 784
ellnf_tamagawa 784
ellnfglobalred 784
doellff_get_o 833
ellminimalprimes 833
Q_to_minimalprimes 847
ellnfembed_free 847
ellnf_c4c6_primes 861
val_aux 924
ellnfembed 938
pointell 966
ellwpnum_all 987
ellheightoo 1001
ellR_ab 1106
ellR_on_neutral 1106
ellR_root 1106
exphellagm 1106
hoo_aux 1106
quad_root 1106
ellff_get_o 1134
ellQminimalmodel 1211
ellminimalmodel 1274
ellordinate 1470
ellordinate_i 1470
ellanQ 1477
ec_half_deriv_2divpol_evalx 1491
ellanal_globalred 1568
ellrootno_global 1624
ellan 1659
cardmod2 1729
slope_samex 1743
F2_card 1750
ellanQ_zv 1750
ellgen 1771
ec_2divpol_evalx 1785
ellR_area 2114
ellQ_get_CM 2177
ec_dFdx_evalQ 2247
ellbasechar 2492
zk_capZ 2506
safe_Z_lval 2618
sievep_bad 2688
checkell_Q 2737
cardmod3 2975
ellinit_nf_to_Fq 3024
ellnf_to_Fq 3024
ellomega_cx 3039
F3_card 3115
checkellisog 3248
elldivpol 3549
get_piinv 3570
doellR_omega 3844
ellomega_agm 3844
elldivpol0 4165
doellR_roots 4243
elleisnum 4438
elldivpol4 5047
ellR_omega 5117
handle_Q 5131
ellR_roots 5216
ellweilpairing 5236
ec_dmFdy_evalQ 5684
invcmp 5715
ellinit_Rg 5981
ellQ_get_N 7336
doellR_roots_i 7669
eta_correction 8890
_elleta 8925
ellsigma 8967
PiI2div 9002
cxredsl2 9002
get_toadd 9891
reduce_z 9919
ec_bmodel 12107
nf_coordch_st 12915
approx_mod3 13153
elladd 13321
_elleisnum 13545
trueE 13545
check_real 13790
get_periods 14490
compute_periods 14567
red_modSL2 14567
check_periods 14574
ec_LHS_evalQ 15470
nflocalred_section7 15498
check_complex 15547
oncurve 15547
ellisoncurve 16681
doellgens 16828
ellgenerators 16842
ellff_get_gens 16905
ellgroup0 21350
ellfromj_simple 22540
a4a6_ch 22707
ell_to_a4a6_bc 22707
ellgroup 22799
ellgroup_m 22848
set_gamma 23569
approx_mod2 26306
elltwist 28231
ellinit_Fp 29852
expIxy 33600
ellfromj 33817
fix_nftype 36358
ch_Q 36855
ch_R 36855
ellinit_nf 36932
nfVtoalg 36946
doellgroup 38766
ellff_get_group 39305
nflocalred_p 50904
ellnflocal 69405
Fq_c4_to_a4 70105
Fq_c4c6_to_a4a6 70105
ell_reset 72128
checkell5 72149
ellchangecurve 72149
coordch 72212
checkcoordch 72730
coordch_uinv 73164
ellcard 88293
ellQap 98518
ell_to_nfell10 99246
nflocalred_23 99246
chk_p 99672
nflocalred 101080
ellQap_u 101262
nf_compose_s 109557
nf_coordch_s 109557
ellinit_Fq 113017
doellcard 114970
coordch_s 117992
get_uniformizers 150150
nf_compose_u 152964
nf_coordch_uinv 153384
ellff_get_card 158804
nf_compose_r 164087
elljissupersingular 164703
ellissupersingular 164906
ellnfap 168294
nf_coordch_rt 171066
ellff_get_p 180294
nf_compose_st 184142
elllocalred 195153
pola2a4a6 216244
pola1a2 241815
ellrandom 244062
numroots3 244230
ellffmul 248520
ellmul_Z 248996
ellmul 249059
nf_compose_rt 251580
nf_coordch_t 251811
nf_compose_t 253638
nf_coordch_r 267204
checkell_Fq 279391
sievep_good 300303
ellan_get_ap 302991
sievep 302991
Fl_c4c6_to_a4a6 303012
Fl_ell_to_a4a6 303012
Fl_c4_to_a4 303306
ellap_CM_fast 305777
checkellpt 307460
coordch_t 344862
coordch_rst 347403
coordch_st 347403
nftoalg 387198
pola3a6 391580
ellglobalred 453950
ellQ_globalred 454111
get_u 454587
Z_gcd_primes 455448
ellminimalmodel_i 455637
is_trivial_change 455889
ellintegralmodel_i 458801
ellglobalred_i 463029
ellinit_Q 495810
ec_f_evalx 528752
ec_h_evalx 545510
ell_over_Fq 553027
pol2sqrt_23 584500
coordch_r 611107
ellinit 677381
initsmall 681717
localred_23 702611
base_ring 711800
numroots2 788879
get_vp_u 878297
localred_p 878297
j_pval 879067
aux 888468
min_to_ell 1157205
Zec_h_evalx 1170288
min_get_v 1170288
min_set_all 1170288
min_set_D 1170295
min_set_a 1170316
min_set_b 1170456
min_set_c 1170603
min_set_u 1170603
aux2 1421980
localred 1580663
get_vp_u_small 1682471
localred_result 1731058
handle_coeff 2294005
ell_to_a4a6 2741045
c4_to_a4 2741191
c4c6_to_a4a6 2741191
ellcard_ram 2796612
ellap 2947868
checkellp 3077818
init_ch 3266648
checkell 4072181

Generated by: LCOV version 1.11