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.1 lcov report (development 28676-df828f1c94) Lines: 4275 4561 93.7 %
Date: 2023-08-26 07:54:43 Functions: 383 391 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
ellexpo 7
zellrealneg 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
ellQp_P2t_err 21
ellQ_bsd 28
ellchangeinvert 28
ellheight_C 28
ellnf_veceta 28
zellrealpos 28
ch_Qp 35
ellheightpairing 35
ellnf_vecomega 35
min_set_2 35
nfrestrict23 35
zellcx 35
ellQ_isdivisible 42
ellQ_isdivisible_test 42
ellnf_bsd 42
myroundr 42
ellQ_saturation 49
ellQ_tamagawa 49
ellperiods 49
ellsaturation 49
ellsub 49
elltamagawa 49
bnf_get_v 56
ellQ_eulerf 56
ellQp_t2P 56
ellnf_get_CM 56
ellnf_volume 56
ellnfminimalmodel 56
ellnfminimalmodel_i 56
elltrace 56
doellR_eta 70
ellbsd 70
elleulerf 70
ellheightfaltings 70
ellminimaldisc 70
ellneg_i 70
ellpadicheight0 70
zell_i 70
ellR_eta 84
elleta 84
real_prec 84
ellQ_rootno 91
ellnf_vecarea 91
ellpointnfembed 98
ec_phi2 105
ellnf_height 112
ch_Fq 119
ch_FF 126
ellsea 126
ellQp_P2t 140
elllog 140
min_set_3 140
Flv_firstnonzero 147
elliscm 154
ellnf_vec_wrap 154
doellnfrootno 161
ellnf_rootno_global 161
ellzeta 161
neron_3 168
ellwp0 182
get_r0 189
ellinit_Qp 203
ellnfan 203
ellrootno 203
zell 203
ellnf_reladelicvolume 231
to_RgX 231
ellheight0 238
ellnf_localheight 245
padic_prec 252
ellnf2isog 273
rootnovalp 273
ellrootno_3 287
get_c4c6 294
elltatepairing 301
ellwpseries_aux 301
ellanQ 329
ellintegralmodel 336
ellrnfup 343
_mul 371
ZtoF2 378
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
ellQ_genreduce 805
ec_half_deriv_2divpol 812
ellnf_adelicvolume 812
ellnf_bsdperiod 812
ellheightmatrix 833
ellnf_tamagawa 840
ellpadicheightmatrix 847
ellnf_minimalnormu 868
ellQ_get_Nfa 917
ellminimalbmodel 938
Q_to_globalred 952
ellnf_D_primes 952
ellnfglobalred 952
ellchangepointinv 959
ellnfembed_free 973
ellminimalprimes 987
ec_2divpol_evalx 994
Q_to_minimalprimes 1057
ellnfembed 1064
ellnf_c4c6_primes 1078
doellrootno 1120
ellnf_get_nf_prec 1162
nfembed_extraprec 1162
_sqr 1169
ellsatp 1204
ellsatp_mat 1204
ellsupersingularj 1204
doellR_ab 1385
ellrootno_p 1393
ellQtwist_bsdperiod 1407
gcomposev 1638
pointell 1890
ellwpnum_all 1911
ellheightoo 1918
val_aux 2058
ellanal_globalred 2310
ellrootno_global 2338
ellanQ_zv 2415
cardmod2 2534
F2_card 2555
ellR_area 2646
FljV_vecsat_Prickett 2807
ltors_Fl 2807
ellordinate 2975
ellordinate_i 2975
ellQminimalmodel 3031
ellminimalmodel 3094
zk_capZ 3108
safe_Z_lval 3227
cardmod3 3479
checkellisog 3528
ellinit_nf_to_Fq 3528
ellomega_cx 3543
ellnf_to_Fq 3549
ec_dFdx_evalQ 3584
F3_card 3619
ellQ_get_N 3682
sievep_bad 3787
oncurve_exact 3827
ellbasechar 3927
ellchangepointinv0 4066
ZV_is_ei 4199
ellQ_factorback 4213
get_piinv 4403
QEV_to_ZJV 4445
elleisnum 4459
direllnf_worker 4963
elldivpol0 5075
doellR_omega 5119
ellomega_agm 5119
ellweilpairing 5250
ellQ_factorback_chinese 5397
nfembedall 5516
checkell_Q 5950
elldivpol 6475
point_to_a4a6_Fl 7366
ellR_omega 7539
doellR_roots 7798
elldivpol4 8414
slope_samex 8589
FljV_vecsat_Siksek 8631
ellQ_factorback_slice 8799
ellQ_factorback_worker 8799
eta_correction 8918
_elleta 8953
ellsigma 8974
cxredsl2 9114
cxredsl2_i 9149
ellinit_Rg 9891
get_toadd 10729
reduce_z 10857
ellQ_factorback_filter 10927
invcmp 11382
FljV_vecsat 11438
doellR_roots_i 11565
nf_coordch_st 13142
approx_mod3 13160
_elleisnum 13594
ellQ_get_CM 13986
get_periods 15456
compute_periods 15533
red_modSL2 15533
check_periods 15540
nflocalred_section7 15575
FljV_changepointinv_pre 15617
ellQ_factorback1 16027
ellgenerators 16849
ellisoncurve 17192
check_complex 17516
doellgens 18690
ellff_get_D 18690
ellff_get_m 18690
ellff_get_gens 18767
ellchangepoint0 18976
ellchangepoint 19004
doellff_get_o 19292
ellff_get_o 19845
_hell 20446
ec_bmodel 20987
ellgroup0 21490
ellgroup_m 21917
ellgroup 22330
ellfromj_simple 22715
a4a6_ch 23232
ell_to_a4a6_bc 23232
ellQ_height 23673
ellheight 23785
ell_is_integral 24023
PiI2div 24514
ellneg 24590
set_gamma 24682
ellR_ab 25577
ellR_on_neutral 25577
ellR_root 25577
exphellagm 25577
hoo_aux 25577
quad_root 25577
approx_mod2 26320
elltwist 28567
ellinit_Fp 30974
ellR_roots 32165
QE_to_ZJ 33684
ellfromj 34020
a4a6_ch_Fl 34715
elladd 36834
fix_nftype 36981
ch_Q 37443
ch_R 37443
ellinit_nf 37590
nfVtoalg 37604
oncurve 39605
handle_Q 40614
doellGm 40978
ec_dmFdy_evalQ 42874
ec_LHS_evalQ 43355
nflocalred_p 51408
ellff_get_group 61831
Q_numer 71369
checkell5 72212
ellchangecurve 72212
coordch 72877
ell_reset 73129
coordch_uinv 75243
ellff_Gm 80521
ellnflocal 83784
ellcard 88264
checkcoordch 92168
Fq_c4c6_to_a4a6 93436
Fq_c4_to_a4 93438
ellQap 98574
chk_p 99829
ell_to_nfell10 99876
nflocalred_23 99876
nflocalred 102137
ellQap_u 102417
nf_compose_s 109653
nf_coordch_s 109653
FF_ellinit_ns 114381
ellinit_Fq 114514
doellcard 117979
coordch_s 118433
initsmall46 143982
get_uniformizers 151284
nf_compose_u 153510
nf_coordch_uinv 153986
ellff_get_card 163759
nf_compose_r 165392
elljissupersingular 165907
ellissupersingular 166117
nf_coordch_rt 171174
ellff_get_p 181455
nf_compose_st 184961
ellnfap 191753
elllocalred 197085
pola2a4a6 217322
pola1a2 242711
numroots3 244335
ellrandom 245847
ellffmul 250319
ellmul_Z 251292
ellmul 251411
nf_coordch_t 252113
nf_compose_rt 252602
checkell_Fq 254086
nf_compose_t 255037
nf_coordch_r 267950
to_mod 302002
coordch_t 345219
coordch_rst 348236
coordch_st 348236
sievep_good 355075
ellan_get_ap 358862
sievep 358862
ellap_CM_fast 378385
nftoalg 391195
pola3a6 393344
checkellpt 428620
ellglobalred 454167
ellQ_globalred 454566
ellQ_minimalu 457141
Z_gcd_primes 458219
ellminimalmodel_i 458611
is_trivial_change 460291
ellglobalred_i 460978
ellinit_Q 499772
ell_over_Fq 505378
min_to_ell 505917
Zec_h_evalx 519000
min_get_v 519000
min_set_all 519000
min_set_D 519014
min_set_a 519035
min_set_b 519175
min_set_c 519322
min_set_u 519322
ec_f_evalx 558240
pol2sqrt_23 587188
coordch_r 611947
ellinit 659974
ec_h_evalx 660501
ellinit_i 660996
initsmall5 672721
get_j 684921
initsmall 692923
base_ring 695548
Fl_c4c6_to_a4a6 696472
Fl_ell_to_a4a6 696472
Fl_c6_to_a6 697120
localred_23 704445
Fl_c4_to_a4 719865
numroots2 788963
get_vp_u 879487
localred_p 879487
j_pval 880880
aux 888965
aux2 1421966
localred 1583512
get_vp_u_small 1686996
localred_result 1735216
ell_to_a4a6 2276322
c4c6_to_a4a6 2276423
c4_to_a4 2276425
ellcard_ram 2330949
ellap 2493050
init_ch 2570232
checkellp 2817762
ellintegralmodel_i 3101198
checkell 3867510
handle_coeff 15505848

Generated by: LCOV version 1.14