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 - elltrans.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.18.1 lcov report (development 30465-b757eeabfc) Lines: 1394 1500 92.9 %
Date: 2025-08-12 09:23:53 Functions: 116 120 96.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
E2_correction 4025
Ek_from_wp 392
PiI2div 41727
PiI2div_sqr 4739
RgXn_eta 28
_period 75222
apply_eta_correction 42
autojtau 40166
autojtauprime 84
check_complex 79030
check_periods 73269
check_unit_disc 21
clearim 124348
clearimall 31122
coeffEu 476
compute_periods 73262
cxE4E6 427
cxE4E6_init 455
cxEk 42441
cxanalyze 84
cxg2g3 28
cxredsl2 294
cxredsl2_i 336
doellR_eta 70
doellR_omega 52465
double_eta_quotient 2093
e12 4481
ellQp_P2t 133
ellQp_P2t_err 21
ellQp_t2P 56
ellR_eta 84
ellR_omega 92799
elleis_from_wp 231
elleisnum 4781
elleisnum0 448
elleisnum_testk 5222
elleta 84
elleta_W 66388
elleta_w 105
elljacobi 70
elljacobi_cx 42
elljacobi_pol 14
ellomega_agm 52465
ellomega_cx 42829
ellperiods 28756
ellsigma 37674
ellsigma_cx 37569
ellweierstrass 28
ellwp 0
ellwp0 182
ellwp_cx 1890
ellwpnum_all 1911
ellwpseries 42
ellwpseries_aux 553
ellzeta 175
ellzeta_cx 84
equali01 112
eta 77
eta0 112
eta_correction 8491
eta_form 8372
eta_reduced 8477
expIPiC 330355
expIPiQ 2170
expIPiR 184612
expIPifrac 15958
expIxy 596273
form_to_quad 8372
gadd3 434
get_c4c6 294
get_periods 73185
get_r0 182
gmul3 2520
gmul4 1827
inteta 7639
ispair 71477
isqreal 427
jell 42
pi23 39711
pointell 1890
qq 42172
real2nQ 7603
red_modSL2 73262
redmod2Z 39767
reduce_z 39571
ser_E 7
ser_addmulXn 21
ser_eta 7
ser_j 14
ser_j2 7
set_gamma 44716
sqrt32 2079
sumdedekind 28
sumdedekind_coprime 6300
theta 182
theta11prime 84
thetaall 40166
thetaflag 210
thetanull 35
thetanull11 7
thetanull_i 483
thetanullk 7
thetaprec 40257
to_form 8372
trueeta 35
u_sumdedekind_coprime 6293
upper_to_cx 82457
vecthetanullk 0
vecthetanullk_loop 42095
vecthetanullk_tau 0
weber0 42
weberf 14
weberf1 14
weberf2 14
zell 28903
zell_closest_0 14
zell_i 28763
zellcx 28735
zellrealneg 0
zellrealpos 28

Generated by: LCOV version 1.16