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.16.2 lcov report (development 29115-f22e516b23) Lines: 4342 4645 93.5 %
Date: 2024-04-19 08:07:09 Functions: 388 396 98.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
checkell_Qp 0
ellintegralbmodel 0
ellprint 0
elltwist_card 0
ellwp 0
localredbug 0
point_to_a4a6 0
triv_ser 0
bilhell 7
ch_Fp 7
ch_Rg 7
ellQ_isisom 7
ellexpo 7
ellnf_isisom 7
zellrealneg 7
CM_factor 14
ellisisom 14
elllseries 14
ellmul_CM 14
ellmul_CM_aux 14
elltaniyama 14
ellwpseries 14
zell_closest_0 14
bilhell_i 21
ellQp_P2t_err 21
ellQ_bsd 28
ellnf_veceta 28
zellrealpos 28
ch_Qp 35
ellheightpairing 35
min_set_2 35
ellQ_isdivisible 42
ellQ_isdivisible_test 42
ellnf_bsd 42
myroundr 42
nfrestrict23 42
ellQ_saturation 49
ellQ_tamagawa 49
ellnf_vecomega 49
ellsaturation 49
ellsub 49
elltamagawa 49
ellQ_eulerf 56
ellQp_t2P 56
ellnf_get_CM 56
ellnf_volume 56
bnf_get_v 63
ellnfminimalmodel 63
ellnfminimalmodel_i 63
doellR_eta 70
ellbsd 70
ellchangeinvert 70
elleulerf 70
ellheightfaltings 70
ellminimaldisc 70
ellneg_i 70
ellpadicheight0 70
elltrace 70
ellR_eta 84
elleta 84
real_prec 84
ellQ_rootno 91
ellnf_vecarea 91
ec_phi2 105
ch_Fq 119
ch_FF 126
ellsea 126
to_RgX 126
ellQp_P2t 140
elllog 140
min_set_3 140
Flv_firstnonzero 147
elliscm 154
doellnfrootno 161
ellnf_rootno_global 161
ellzeta 161
ellnf_vec_wrap 168
neron_3 168
ellwp0 182
get_r0 189
ellinit_Qp 203
ellnfan 203
ellrootno 203
ellnf_reladelicvolume 231
padic_prec 252
ellnf2isog 273
rootnovalp 273
ellrootno_3 287
get_c4c6 294
elltatepairing 301
ellwpseries_aux 301
ellanQ 329
ellintegralmodel 336
ellrnfup 343
ZtoF2 378
_mul 385
twist2 392
ellminimaltwistcond 399
ellrootno_2 399
neron_2 399
ellxn 406
ellminimaltwist0 448
nb_real_components 462
nf_coordch 476
nf_coordch_rst 476
RgE2_Fp_init 497
ellan 525
ec_dFdy_evalQ 532
ellminimaltwist 665
kod_23 686
val_init 686
akell 693
checkell_int 693
ec_half_deriv_2divpol_evalx 707
apk_good 735
ec_half_deriv_2divpol 812
ellnf_adelicvolume 812
ellnf_bsdperiod 812
ellQ_genreduce 819
ellnf_tamagawa 840
ellheightmatrix 847
ellpadicheightmatrix 861
ellQ_get_Nfa 917
Q_to_globalred 938
ellnf_D_primes 938
ellnfglobalred 938
ellminimalbmodel 952
ellchangepointinv 973
ellnfembed_free 987
doellrootno 1120
_sqr 1190
ellsatp 1204
ellsatp_mat 1204
ellsupersingularj 1204
ellrootno_p 1393
ellQtwist_bsdperiod 1407
gcomposev 1708
pointell 1890
ellwpnum_all 1911
val_aux 2058
ellanal_globalred 2401
ellanQ_zv 2415
ellrootno_global 2443
cardmod2 2534
F2_card 2555
ellR_area 2646
FljV_vecsat_Prickett 2807
ltors_Fl 2807
ellordinate 2996
ellordinate_i 2996
ellQminimalmodel 3045
ellminimalmodel 3115
cardmod3 3479
checkellisog 3528
F3_card 3619
ellQ_get_N 3773
sievep_bad 3794
oncurve_exact 3855
ellbasechar 3927
ellchangepointinv0 4081
ZV_is_ei 4214
ellQ_factorback 4228
elleisnum 4459
QEV_to_ZJV 4460
direllnf_worker 4961
elldivpol0 5075
ellweilpairing 5250
ellQ_factorback_chinese 5332
checkell_Q 6069
elldivpol 6475
elldivpol4 8414
FljV_vecsat_Siksek 8631
ellQ_factorback_slice 8741
ellQ_factorback_worker 8741
ellQ_factorback_filter 10789
FljV_vecsat 11438
ellQ_get_CM 13942
FljV_changepointinv_pre 15322
ellQ_factorback1 15732
ellgenerators 16849
safe_Z_lval 17472
doellgens 18690
ellff_get_D 18690
ellff_get_m 18690
ellff_get_gens 18767
doellff_get_o 19292
nf_coordch_st 19378
ellff_get_o 19845
_hell 20468
ellgroup0 21490
ellfromj_simple 22715
nflocalred_section7 27524
elltwist 28567
ellheight_C 28728
zellcx 28735
ellperiods 28749
zell_i 28770
prV_merge_factors 28812
ellpointnfembed 28819
ellnf_height 28833
zell 28903
slope_samex 29184
Q_to_minimalprimes 29512
ellnf_c4c6_primes 29603
ellnf_minimalnormu 29680
ec_2divpol_evalx 29715
ellnfembed 29799
ellheightoo 30660
ellomega_cx 32243
QE_to_ZJ 33680
doellR_omega 33854
ellomega_agm 33854
ellfromj 34020
eta_correction 37618
ellsigma 37674
cxredsl2 37814
cxredsl2_i 37849
get_toadd 39417
reduce_z 39557
handle_Q 41216
ellisoncurve 45899
ellQ_height 52410
ell_is_integral 52753
elladd 57457
ellheight0 57659
ellminimalprimes 58618
ellnf_get_nf_prec 58618
nfembed_extraprec 58618
doellR_ab 58842
zk_capZ 60144
point_to_a4a6_Fl 64236
ellR_omega 64981
ec_3divpol_evalx 65276
_elleta 66353
ellinit_Rg 67361
approx_mod3 70308
_elleisnum 70994
get_periods 72856
compute_periods 72933
red_modSL2 72933
check_periods 72940
ch_Q 73241
ch_R 73241
ellinit_nf 73395
ellheight 81243
ellneg 82034
check_complex 82446
ellR_ab 83056
ellR_on_neutral 83056
ellR_root 83056
exphellagm 83056
hoo_aux 83056
quad_root 83056
ellnflocal 83777
ellnf_localheight 85988
a4a6_ch_Fl 91290
Fq_c4c6_to_a4a6 93446
Fq_c4_to_a4 93447
ellQap 98567
chk_p 99614
ellQap_u 102417
set_gamma 110782
ellinit_Fq 114482
nfVtoalg 116599
coordch_s 118909
ellgroup_m 120715
FF_ellinit_ns 121027
oncurve 125882
ellgroup 127806
nflocalred_p 129122
ec_LHS_evalQ 129660
ec_dFdx_evalQ 130929
ellinit_nf_to_Fq 137725
ellnf_to_Fq 137746
PiI2div 139314
approx_mod2 140616
doellGm 146454
ellchangepoint0 147680
ellchangepoint 147708
a4a6_ch 150697
ell_to_a4a6_bc 150697
doellR_roots 151447
Q_numer 157580
ch_NF 157647
get_piinv 157913
initsmall46 162583
ellinit_Fp 165117
elljissupersingular 165907
ellissupersingular 166117
ellff_get_group 167307
ell_to_nfell10 181783
nflocalred_23 181783
nf_compose_s 184637
nf_coordch_s 184637
ellff_Gm 185997
ellcard 187030
ellnfap 191763
elllocalred 197085
ellR_roots 204536
invcmp 205260
nfembedall 206633
doellR_roots_i 212684
ec_bmodel 222127
doellcard 223423
checkell5 229551
ellchangecurve 229551
coordch 230244
fix_nftype 230433
ell_reset 230482
coordch_uinv 232638
numroots3 244335
ellrandom 245847
ellffmul 250265
ellmul_Z 251273
ellmul 251392
checkell_Fq 254086
ec_dmFdy_evalQ 256042
nflocalred 261758
ellff_get_card 269203
nf_coordch_rt 301348
get_uniformizers 310905
coordch_t 369495
checkcoordch 378225
ellff_get_p 385697
nf_coordch_t 407287
nf_compose_u 443534
nf_coordch_uinv 444010
ellglobalred 454181
ellQ_globalred 454566
ellglobalred_i 461160
nf_compose_r 479230
ellQ_minimalu 485604
ellminimalmodel_i 487074
is_trivial_change 488817
nf_compose_st 496188
nf_coordch_r 499738
ell_over_Fq 505359
coordch_rst 505603
coordch_st 505603
Z_gcd_primes 515207
min_to_ell 534380
ellinit_Q 535584
Zec_h_evalx 547463
min_get_v 547463
min_set_all 547463
min_set_D 547477
min_set_a 547498
min_set_b 547638
min_set_c 547785
min_set_u 547785
pola1a2 579397
pola2a4a6 592746
nf_compose_rt 593824
localred_23 704445
checkellpt 728461
coordch_r 769314
ec_f_evalx 782403
numroots2 788963
nf_compose_t 842954
sievep_good 848540
ellan_get_ap 852334
sievep 852334
ellinit 865702
ellinit_i 866724
ellap_CM_fast 871927
get_vp_u 879487
localred_p 879487
j_pval 880880
aux 888965
initsmall5 935905
get_j 948120
initsmall 956121
base_ring 960524
pola3a6 1069803
ec_h_evalx 1175885
Fl_c4c6_to_a4a6 1190014
Fl_ell_to_a4a6 1190014
Fl_c6_to_a6 1190662
Fl_c4_to_a4 1269982
aux2 1421966
nftoalg 1500758
localred 1583512
pol2sqrt_23 1626562
get_vp_u_small 1686996
ellcard_ram 1837402
localred_result 1894837
to_mod 1959065
ellap 1999504
ell_to_a4a6 2009003
c4_to_a4 2009139
c4c6_to_a4a6 2009142
checkellp 2528451
init_ch 2686929
ellintegralmodel_i 2693769
checkell 3799964
handle_coeff 13468583

Generated by: LCOV version 1.14