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 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 - trans1.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 21188-db834f2) Lines: 1950 2018 96.6 %
Date: 2017-10-20 06:23:07 Functions: 141 146 96.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Pi2n 4507010
PiI2 6132
PiI2n 9162
Qp_exp 21169
Qp_exp_prec 20231
Qp_exp_safe 21631
Qp_log 24878
Qp_sqrt 1736
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 170124
Z2_sqrt 1477
Zn_sqrt 350
Zp_teichmuller 1316
_mul 16144041
_muli 3106283
_mulr 1268788
_one 52223
_oner 24011
_rpowuu_msqr 181689
_rpowuu_sqr 474040
_sqr 39902952
_sqri 4682478
_sqrr 7139042
abpq_init 6995
abpq_sum 333333
agm 8864
agm1 9158
agm1cx 15059
agm1r_abs 264731
agmcx_a_b 15101
agmcx_gap 217825
agmcx_init 15101
agmr_gap 3616329
atanhQ_split 4738
bug_logp 7
catalan 14
constcatalan 14
consteuler 20013
constlog2 9388525
constpi 10878440
cos_p 49
cubic_prec_mask 213198
cxexp 1240498
cxexpm1 5001
exp1r_abs 6810339
expIr 103429
expm1_Ir 4910
gcos 93346
gcotan 154
gexp 5108155
gexpm1 10538
glog 2530227
gpow 13107016
gpow0 126
gpowers 52230
gpowers0 25245
gpowg0 3337887
gpowgs 95606667
grootsof1 88480
grootsof1_4 74706
gsin 130489
gsinc 107506
gsincos 1245160
gsqrpowers 22872
gsqrt 7676104
gsqrtn 3221
gtan 105
log2_split 2369
logagmcx 9893
logagmr_abs 290621
logr_abs 3028589
modlog2 6749872
mpaut 2817794
mpcatalan 14
mpcos 2683559
mpcosm1 4251620
mpcotan 35
mpeuler 20013
mpexp 6946666
mpexp0 197485
mpexp_basecase 6749181
mpexpm1 8956
mplog 106536
mplog2 9388525
mppi 10877749
mpsin 126884
mpsinc 107436
mpsincos 1459287
mpsincosm1 4910
mptan 35
mulii3 573184
mulii4 170124
palogaux 24871
pari_close_floats 122055
pari_init_floats 121658
pi_ramanujan 2243
pow_monome 462096
pow_polmod 26557
powersr 24011
powgi 83290905
powis 22115036
powiu 35768663
powiu_sign 35868608
powp 161
powps 41566
powr0 2919
powrfrac 504
powrs 5336579
powrshalf 0
powru 601551
powruhalf 21043
powuu 23994342
rootsof1_cx 3528
rootsof1pow 0
rootsof1powinit 0
rootsof1q_cx 0
rootsof1u_cx 168365
rpowuu 127097
scalarpol_get_1 116487
ser_agm1 14
ser_cmp_expo 49
ser_pow 336
ser_pow_1 336
ser_powfrac 357
serchop0 17136
serexp 31402
shiftc_inplace 12149
sin_p 63
sqrt_ser 1631
sqrtnint 10803
sqrtnof1 75041
sqrtnr_abs 283471
swap_clone 4994
teich 0
teichmuller 238
teichmullerinit 1197
tofp_safe 12369
trans_eval 455586
transvec 62925
upowuu 25336571
usqrtn 429
usqru 5087201
val_from_i 350
zellagmcx 42

Generated by: LCOV version 1.11