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-bordeaux1.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.8.0 lcov report (development 17588-7fd783e) Lines: 1699 1746 97.3 %
Date: 2015-03-04 Functions: 127 129 98.4 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1061 1216 87.3 %

Function Name Sort by function name Hit count Sort by hit count
Pi2n 9990592
PiI2 4354
PiI2n 6928
Qp_exp 10557
Qp_exp_prec 10193
Qp_exp_safe 11019
Qp_log 1064
Qp_sqrt 1358
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 131188
Up_sqrt 2296
Zn_sqrt 350
Zp_teichmuller 7
_mul 1474227
_muli 2623571
_mulr 3087316
_one 280
_oner 15576
_rpowuu_msqr 98413
_rpowuu_sqr 375557
_sqr 3881238
_sqri 3971077
_sqrr 30408417
abpq_init 5876
abpq_sum 256570
agm 1703
agm1 1815
agm1cx 18807
agm1r_abs 207253
agmcx_a_b 18821
agmcx_gap 322325
agmcx_init 18821
agmr_gap 2889297
atanhQ_split 3164
catalan 7
cbrtr_abs 11341
constcatalan 7
consteuler 35602
constlog2 6401796
constpi 11800203
cos_p 49
cxexp 712775
cxexpm1 63
exp1r_abs 4785265
expIr 105359
expm1_Ir 56
gcos 287212
gcotan 105
gexp 2289165
gexpm1 112
glog 1673504
gpow 8222471
gpowers 280
gpowg0 127645
gpowgs 44344945
gsin 7625132
gsincos 716373
gsqrt 3477030
gsqrtn 2548
gtan 77
log2_split 1582
logagmcx 17659
logagmr_abs 303076
logr_abs 1840771
modlog2 4700579
mpaut 6142877
mpcatalan 7
mpcos 2877404
mpcosm1 11293607
mpcotan 21
mpeuler 35602
mpexp 4731006
mpexp0 31106
mpexp_basecase 4699900
mpexpm1 161
mplog 259800
mplog2 6401796
mppi 11799524
mpsin 7624817
mpsincos 830769
mpsincosm1 56
mptan 21
mulii3 441233
mulii4 131188
palogaux 1057
pari_close_floats 1738
pari_init_floats 3089
pi_ramanujan 2705
pow_monome 107107
pow_polmod 10431
powersr 15576
powgi 9664994
powis 11673771
powiu 15635523
powiu_sign 16106082
powp 161
powps 1358
powr0 1603
powrfrac 539
powrs 29617653
powrshalf 0
powru 151225
powruhalf 13370
powuu 4006089
rootsof1complex 7
rootsof1padic 0
rpowuu 172718
scalarpol_get_1 106057
ser_pow 189
ser_pow_1 189
ser_powfrac 210
serchop0 2191
serexp 19439
sin_p 49
sqrt_2adic 581
sqrt_ser 994
sqrtnint 25790
swap_clone 4644
teich 7
tofp_safe 2569
trans_eval 578242
transvec 32451
upowuu 7864349
usqrtn 429
usqru 1668452
val_from_i 203
zellagmcx 14

Generated by: LCOV version 1.9