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 30480-572da319a6) Lines: 1371 1481 92.6 %
Date: 2025-08-27 09:24:05 Functions: 113 117 96.6 %
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 41685
PiI2div_sqr 4725
RgXn_eta 28
_period 75208
apply_eta_correction 42
autojtau 40068
autojtauprime 70
check_complex 79016
check_periods 73213
check_unit_disc 21
clearim 124096
clearimall 31024
coeffEu 476
compute_periods 73206
cxE4E6 427
cxEk 42385
cxanalyze 84
cxredsl2 294
cxredsl2_i 336
doellR_eta 70
doellR_omega 52465
double_eta_quotient 2093
e12 4411
ellQp_P2t 133
ellQp_P2t_err 21
ellQp_t2P 56
ellR_eta 98
ellR_omega 92799
elleis_from_wp 231
elleisnum 4781
elleisnum0 448
elleisnum_testk 5222
elleta 84
elleta_W 66374
elleta_w 77
elljacobi 70
elljacobi_cx 42
elljacobi_pol 14
ellomega_agm 52465
ellomega_cx 42829
ellperiods 28756
ellsigma 37674
ellsigma_cx 37569
ellwp 0
ellwp0 182
ellwp_cx 1890
ellwpnum_all 1911
ellwpseries 42
ellwpseries_aux 553
ellzeta 161
ellzeta_cx 70
equali01 112
eta 77
eta0 112
eta_correction 8491
eta_form 8372
eta_reduced 8477
expIPiC 330033
expIPiQ 2170
expIPiR 184612
expIPifrac 15958
expIxy 596273
form_to_quad 8372
gadd3 406
get_c4c6 294
get_periods 73129
get_r0 182
gmul3 2492
gmul4 1827
inteta 7639
ispair 71435
isqreal 427
jell 42
pi23 39641
pointell 1890
qq 42116
real2nQ 7603
red_modSL2 73206
redmod2Z 39683
reduce_z 39557
ser_E 7
ser_addmulXn 21
ser_eta 7
ser_j 14
ser_j2 7
set_gamma 44660
sqrt32 2079
sumdedekind 28
sumdedekind_coprime 6300
theta 112
theta11prime 70
thetaall 40068
thetaflag 140
thetanull 35
thetanull11 7
thetanull_i 455
thetanullk 7
thetaprec 40145
to_form 8372
trueeta 35
u_sumdedekind_coprime 6293
upper_to_cx 82289
vecthetanullk 0
vecthetanullk_loop 42039
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