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 |
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 |
ellK | 140 |
ellK_i | 147 |
powp | 161 |
gtan | 224 |
transvecgen | 329 |
Zn_sqrt | 420 |
powrfrac | 518 |
Up_sqrtn_ram | 784 |
teichmullerinit | 1225 |
Up_sqrt | 1834 |
Qp_sqrt | 1862 |
trans_evalgen | 1967 |
dvdsi_quot | 2296 |
Qp_sqrtn | 2534 |
tan_huge_im | 4018 |
gcotan | 4214 |
rootsof1_cx | 4536 |
teich | 5565 |
teichmuller | 5803 |
ser_pow_1 | 8022 |
val_from_i | 8036 |
ser_powfrac | 8043 |
usqrtn | 8113 |
ser_pow | 8127 |
Zp_teichmuller | 10815 |
powPis | 11935 |
upowers | 12017 |
pow2Pis | 12222 |
tofp_safe | 13250 |
_oner | 14196 |
powersr | 14196 |
rootsof1q_cx | 14616 |
rootsof1powinit | 15603 |
sqrt_ser | 18739 |
expm1_Ir | 20130 |
mpsincosm1 | 20130 |
cxexpm1 | 20186 |
powr0 | 21370 |
pow_polmod | 23767 |
mpexpm1 | 24683 |
gexpm1 | 26506 |
zellagmcx | 28749 |
sqrtnint | 29200 |
serchop0 | 37604 |
gsqrpowers | 39921 |
pi_ramanujan | 42261 |
log2_split | 42994 |
gsqrtn | 43042 |
shiftc_inplace | 55443 |
consteuler | 57694 |
mpeuler | 57694 |
serexp | 83545 |
swap_clone | 85777 |
Qp_exp | 109099 |
Qp_exp_safe | 109561 |
agm | 111986 |
agm1 | 112280 |
powruhalf | 121477 |
Z2_sqrt | 144690 |
mpexp0 | 147210 |
gcos | 154858 |
powcx_prec | 192852 |
Qp_log | 196211 |
mplog | 203813 |
gpowers0 | 208415 |
PiI2 | 267723 |
PiI2n | 280449 |
logagmcx | 299939 |
Z_to_padic | 304147 |
agm1cx | 337326 |
pari_close_floats | 340614 |
pari_init_floats | 340932 |
agmcx_a_b | 366075 |
agmcx_init | 366075 |
scalarpol_get_1 | 375055 |
rpowuu | 445563 |
sqrtnof1 | 554665 |
_rpowuu_msqr | 628996 |
pow_monome | 641829 |
mpsin | 834952 |
expIr | 899827 |
_one | 1002063 |
gpowers | 1002066 |
grootsof1_4 | 1006277 |
logagmr_abs | 1030273 |
agm1r_abs | 1104964 |
grootsof1 | 1172542 |
gsin | 1252128 |
powps | 1316947 |
mulpowu | 1317009 |
expQ | 1468576 |
_rpowuu_sqr | 1620308 |
cubic_prec_mask | 1736042 |
transvec | 2078254 |
rootsof1u_cx | 2162335 |
mpsinc | 2319450 |
gsinc | 2319562 |
mpcos | 2745064 |
sqrtnr_abs | 2804471 |
gpowg0 | 2972194 |
trans_eval | 4071038 |
_mul | 4127577 |
cxexp | 4795307 |
gsincos | 4804672 |
powrs | 5096715 |
powcx | 5519960 |
agmcx_gap | 5540946 |
abpq_init | 5576762 |
powru | 6141895 |
_sqr | 6561948 |
_mulr | 7132877 |
powfrac | 10556451 |
logr_aux | 12120194 |
rootsof1pow | 12939507 |
mpsincos | 13952938 |
logr_abs | 14002855 |
mpaut | 15829287 |
_sqrr | 16311161 |
agmr_gap | 16365960 |
mpcosm1 | 17531416 |
glog | 18274678 |
gexp | 19018672 |
mpexp_basecase | 19142896 |
exp1r_abs | 19219449 |
modlog2 | 19237028 |
mpexp | 19289871 |
gpow | 21754806 |
usqru | 22107303 |
powis | 28833027 |
mplog2 | 29447007 |
constlog2 | 29447019 |
_muli | 29999513 |
Pi2n | 31600737 |
T2 | 42828798 |
powuu | 45438628 |
mppi | 46755542 |
constpi | 46755725 |
gsqrt | 63036612 |
abpq_sum | 81084138 |
_sqri | 81898955 |
powgi | 104833090 |
upowuu | 113469974 |
powiu | 119468734 |
powiu_sign | 119683447 |
gpowgs | 124874587 |
mulii3 | 188740405 |
![]() |
Generated by: LCOV version 1.16 |