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.1 lcov report (development 22726-9e20c6a88) Lines: 3716 3957 93.9 %
Date: 2018-06-24 05:36:21 Functions: 339 346 98.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
CM_factor 14
F2_card 1883
F3_card 2226
FF_ellinit_ns 113905
Fl_c4_to_a4 305448
Fl_c4c6_to_a4a6 305154
Fl_ell_to_a4a6 305154
Fq_c4_to_a4 70112
Fq_c4c6_to_a4a6 70112
PiI2div 9002
Q_numer 721
Q_to_globalred 784
Q_to_minimalprimes 847
Z_gcd_primes 455693
Zec_h_evalx 516705
ZtoF2 168
_elleisnum 13559
_elleta 8925
_hell 140
_mul 175
_sqr 602
a4a6_ch 22193
a4a6_ch_Fl 294
akell 693
apk_good 735
approx_mod2 26306
approx_mod3 13153
aux 888510
aux2 1421882
base_ring 714048
bilhell 7
bilhell_i 21
bnf_get_v 56
c4_to_a4 2809445
c4c6_to_a4a6 2809444
cardmod2 1862
cardmod3 2086
ch_FF 126
ch_Fp 7
ch_Fq 119
ch_Q 37037
ch_Qp 35
ch_R 37037
ch_Rg 7
check_complex 15561
check_periods 14595
checkcoordch 72793
checkell 4341264
checkell5 72212
checkell_Fq 279447
checkell_Q 3619
checkell_Qp 0
checkell_int 693
checkellisog 3416
checkellp 3340562
checkellpt 306932
chk_p 97526
compute_periods 14588
coordch 72275
coordch_r 611170
coordch_rst 347480
coordch_s 118013
coordch_st 347480
coordch_t 344925
coordch_uinv 73444
cxredsl2 9009
cxredsl2_i 9044
doellGm 40649
doellR_ab 203
doellR_eta 70
doellR_omega 4012
doellR_roots 4425
doellR_roots_i 7835
doellcard 116551
doellff_get_o 19278
doellgens 18683
doellnfrootno 147
doellrootno 700
ec_2divpol_evalx 1813
ec_3divpol_evalx 14
ec_LHS_evalQ 15470
ec_bmodel 12595
ec_dFdx_evalQ 2471
ec_dFdy_evalQ 532
ec_dmFdy_evalQ 5768
ec_f_evalx 528766
ec_h_evalx 545608
ec_half_deriv_2divpol_evalx 1519
ellQ_bsd 21
ellQ_get_CM 2303
ellQ_get_N 2436
ellQ_get_Nfa 826
ellQ_globalred 454090
ellQ_height 133
ellQ_rootno 84
ellQ_tamagawa 35
ellQap 98497
ellQap_u 101325
ellQminimalmodel 1624
ellQp_P2t 112
ellQp_P2t_err 7
ellQp_t2P 56
ellR_ab 1106
ellR_area 2142
ellR_eta 84
ellR_omega 5425
ellR_on_neutral 1106
ellR_root 1106
ellR_roots 5398
ell_is_integral 203
ell_over_Fq 527909
ell_reset 72191
ell_to_a4a6 2809297
ell_to_a4a6_bc 22191
ell_to_nfell10 99295
elladd 13321
ellan 1701
ellanQ 1519
ellanQ_zv 1792
ellan_get_ap 303831
ellanal_globalred 1715
ellap 3017616
ellap_CM_fast 307961
ellbasechar 2786
ellbsd 63
ellcard 86857
ellcard_ram 2864568
ellchangecurve 72212
ellchangeinvert 21
ellchangepoint 525
ellchangepoint0 525
ellchangepointinv 63
ellchangepointinv0 63
elldivpol 3871
elldivpol0 4165
elldivpol4 5369
elleisnum 4452
elleta 84
ellexpo 7
ellff_Gm 80171
ellff_get_D 18683
ellff_get_card 162331
ellff_get_gens 18760
ellff_get_group 61488
ellff_get_m 18683
ellff_get_o 19817
ellff_get_p 179705
ellffmul 247986
ellfromj 33817
ellfromj_simple 22540
ellgenerators 16842
ellglobalred 453950
ellglobalred_i 458598
ellgroup 22008
ellgroup0 21483
ellgroup_m 21595
ellheight 231
ellheight0 147
ellheight_C 28
ellheightmatrix 7
ellheightoo 1001
ellheightpairing 35
ellinit 679475
ellinit_Fp 29880
ellinit_Fq 114052
ellinit_Q 496762
ellinit_Qp 196
ellinit_Rg 5936
ellinit_nf 36960
ellinit_nf_to_Fq 3052
ellintegralmodel 301
ellintegralmodel_i 3620442
ellisoncurve 16681
ellissupersingular 164906
elljissupersingular 164703
elllocalred 197078
elllog 133
elllseries 14
ellminimaldisc 28
ellminimalmodel 1687
ellminimalmodel_i 456092
ellminimalnormu 756
ellminimalprimes 833
ellminimaltwist 609
ellminimaltwist0 448
ellminimaltwistcond 343
ellmul 248525
ellmul_CM 14
ellmul_CM_aux 14
ellmul_Z 248462
ellneg 735
ellneg_i 49
ellnf2isog 252
ellnf_D_primes 784
ellnf_adelicvolume 756
ellnf_bsd 42
ellnf_bsdperiod 756
ellnf_c4c6_primes 861
ellnf_get_nf_prec 1050
ellnf_height 98
ellnf_localheight 245
ellnf_reladelicvolume 217
ellnf_rootno_global 147
ellnf_tamagawa 784
ellnf_to_Fq 3073
ellnf_vec_wrap 98
ellnf_vecarea 35
ellnf_veceta 28
ellnf_vecomega 35
ellnfan 189
ellnfap 168329
ellnfembed 952
ellnfembed_free 861
ellnfglobalred 784
ellnflocal 69405
ellnfminimalmodel 56
ellnfminimalmodel_i 56
ellomega_agm 4012
ellomega_cx 3144
ellordinate 1470
ellordinate_i 1470
ellpadicheight0 70
ellpadicheightmatrix 21
ellperiods 49
ellpointnfembed 98
ellprint 0
ellrandom 244062
ellrnfup 322
ellrootno 182
ellrootno_2 210
ellrootno_3 182
ellrootno_global 1715
ellrootno_p 826
ellsea 126
ellsigma 8967
ellsub 49
elltamagawa 42
elltaniyama 14
elltatepairing 294
elltwist 28448
ellweilpairing 5236
ellwp 0
ellwp0 182
ellwpnum_all 987
ellwpseries 14
ellwpseries_aux 301
ellxn 392
ellzeta 154
eta_correction 8890
expIxy 33600
exphellagm 1106
fix_nftype 36386
gcomposev 700
get_c4c6 294
get_periods 14511
get_piinv 3619
get_r0 161
get_toadd 9891
get_u 454832
get_uniformizers 150220
get_vp_u 878850
get_vp_u_small 1684567
handle_Q 9142
handle_coeff 18102210
hoo_aux 1106
init_ch 2566340
initsmall 683767
initsmall_i 683788
invcmp 6051
is_trivial_change 456540
j_pval 879676
kod_23 392
localred 1582532
localred_23 704039
localred_p 878850
localred_result 1733109
localredbug 0
min_get_v 516705
min_set_2 28
min_set_3 140
min_set_D 516712
min_set_a 516733
min_set_all 516705
min_set_b 516873
min_set_c 517020
min_set_u 517020
min_to_ell 503615
myroundr 42
neron_2 210
neron_3 140
nfVtoalg 36974
nf_compose_r 164143
nf_compose_rt 251643
nf_compose_s 109557
nf_compose_st 184163
nf_compose_t 253673
nf_compose_u 152985
nf_coordch 420
nf_coordch_r 267246
nf_coordch_rst 420
nf_coordch_rt 171087
nf_coordch_s 109557
nf_coordch_st 12922
nf_coordch_t 251839
nf_coordch_uinv 153405
nfembed_extraprec 2002
nfembedall 4956
nflocalred 101129
nflocalred_23 99295
nflocalred_p 50925
nflocalred_section7 15498
nfrestrict23 35
nftoalg 387408
numroots2 788851
numroots3 244230
oncurve 15547
padic_prec 252
point_to_a4a6 0
point_to_a4a6_Fl 294
pointell 966
pol2sqrt_23 584563
pola1a2 241878
pola2a4a6 216265
pola3a6 391622
quad_root 1106
real_prec 84
red_modSL2 14588
reduce_z 9919
rootnovalp 252
safe_Z_lval 2863
set_gamma 23632
sievep 303831
sievep_bad 2772
sievep_good 301059
slope_samex 1743
triv_ser 0
twist2 392
val_aux 1176
val_init 392
zell 161
zell_closest_0 14
zell_i 56
zellcx 35
zellrealneg 0
zellrealpos 21
zk_capZ 2506

Generated by: LCOV version 1.13