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:
x86_32
architecture at
Configure time via setarch
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 | |||||||||||||||||||||||||
![]() | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
![]() |
Function Name ![]() |
Hit count ![]() |
powrshalf | 0 |
catalan | 14 |
constcatalan | 14 |
cxlog1p | 14 |
magm | 14 |
mpcatalan | 14 |
ellE | 21 |
ser_agm1 | 21 |
ellK | 28 |
ellK_i | 35 |
real_I | 35 |
serchop | 42 |
serchop_i | 42 |
cos_p | 49 |
is_ext_qfr | 49 |
ser_cmp_expo | 49 |
mplog1p | 63 |
sin_p | 63 |
mpcotan | 70 |
magm_gap | 84 |
Qp_exp_prec | 98 |
glog1p | 119 |
gpow0 | 126 |
log1p_i | 133 |
mptan | 133 |
powp | 161 |
gtan | 224 |
transvecgen | 329 |
Zn_sqrt | 420 |
powrfrac | 518 |
Qp_sqrtn_ram | 854 |
teichmullerinit | 1225 |
Qp_sqrt | 1897 |
trans_evalgen | 1953 |
Qp_sqrtn_unram | 2037 |
Qp_sqrtn | 2604 |
tan_huge_im | 4018 |
gcotan | 4214 |
rootsof1_cx | 4536 |
teich | 5299 |
teichmuller | 5537 |
ser_pow_1 | 7854 |
val_from_i | 7868 |
ser_powfrac | 7875 |
ser_pow | 7959 |
usqrtn | 8111 |
Zp_teichmuller | 10549 |
powPis | 11669 |
upowers | 12017 |
pow2Pis | 12187 |
tofp_safe | 13256 |
rootsof1q_cx | 14154 |
_oner | 14196 |
powersr | 14196 |
rootsof1powinit | 14987 |
sqrt_ser | 18669 |
expm1_Ir | 19983 |
mpsincosm1 | 19983 |
cxexpm1 | 20039 |
powr0 | 21109 |
pow_polmod | 24082 |
sqrtnint | 24354 |
mpexpm1 | 24536 |
gexpm1 | 26359 |
zellagmcx | 28749 |
serchop0 | 37562 |
gsqrpowers | 39711 |
pi_ramanujan | 41235 |
log2_split | 41867 |
gsqrtn | 42186 |
shiftc_inplace | 55140 |
consteuler | 57674 |
mpeuler | 57674 |
serexp | 83377 |
swap_clone | 83612 |
Qp_exp | 108825 |
Qp_exp_safe | 109287 |
agm | 111664 |
agm1 | 111846 |
powruhalf | 118729 |
Z2_sqrt | 144690 |
mpexp0 | 146505 |
gcos | 154858 |
powcx_prec | 192608 |
Qp_log | 195812 |
mplog | 203547 |
gpowers0 | 207308 |
PiI2 | 268619 |
PiI2n | 280995 |
logagmcx | 301304 |
Z_to_padic | 303498 |
pari_close_floats | 322329 |
pari_init_floats | 324365 |
agm1cx | 338467 |
agmcx_a_b | 367216 |
agmcx_init | 367216 |
scalarpol_get_1 | 373508 |
_one | 426273 |
gpowers | 426277 |
rpowuu | 430310 |
sqrtnof1 | 549868 |
_rpowuu_msqr | 627932 |
pow_monome | 634085 |
mpsin | 825879 |
expIr | 878872 |
logagmr_abs | 996014 |
grootsof1_4 | 1000305 |
agm1r_abs | 1070503 |
grootsof1 | 1163832 |
gsin | 1260115 |
powps | 1316678 |
expQ | 1468576 |
_rpowuu_sqr | 1603256 |
cubic_prec_mask | 1733925 |
transvec | 2008073 |
rootsof1u_cx | 2149346 |
mpsinc | 2319450 |
gsinc | 2319562 |
gpowg0 | 2366835 |
sqrtnr_abs | 2730201 |
mpcos | 2745071 |
trans_eval | 3876154 |
_mul | 4054148 |
cxexp | 4686544 |
gsincos | 4695913 |
powrs | 5101343 |
abpq_init | 5485397 |
powcx | 5519876 |
agmcx_gap | 5562205 |
_sqr | 5876503 |
powru | 6115598 |
_mulr | 7135005 |
powfrac | 10529272 |
logr_aux | 11933144 |
rootsof1pow | 12516441 |
logr_abs | 13750819 |
mpsincos | 13841128 |
mpaut | 15729339 |
agmr_gap | 15792614 |
_sqrr | 16249256 |
mpcosm1 | 17427626 |
glog | 17942343 |
gexp | 18629683 |
mpexp_basecase | 18821657 |
exp1r_abs | 18898454 |
modlog2 | 18915420 |
mpexp | 18967899 |
powis | 21196905 |
usqru | 21475265 |
gpow | 21643335 |
mplog2 | 28886848 |
constlog2 | 28886874 |
_muli | 29919180 |
Pi2n | 31334166 |
T2 | 37614146 |
mppi | 46221030 |
constpi | 46221379 |
powuu | 46306521 |
gsqrt | 62528614 |
abpq_sum | 70544117 |
_sqri | 81724299 |
powgi | 104546326 |
powiu_sign | 107710624 |
powiu | 107867327 |
upowuu | 111587777 |
gpowgs | 116161219 |
mulii3 | 164216479 |
![]() |
Generated by: LCOV version 1.16 |