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 16912-212c0f0) Lines: 1686 1733 97.3 %
Date: 2014-10-20 Functions: 126 128 98.4 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1051 1206 87.1 %

Function Name Sort by function name Hit count Sort by hit count
Pi2n 3736149
PiI2 4207
PiI2n 6489
Qp_exp 10325
Qp_exp_prec 9961
Qp_exp_safe 10787
Qp_log 1064
Qp_sqrt 1337
Qp_sqrtn 1169
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 93750
Up_sqrt 2275
Zn_sqrt 350
Zp_teichmuller 7
_mul 747442
_muli 2264001
_mulr 559842
_one 280
_oner 15726
_rpowuu_msqr 97737
_rpowuu_sqr 308923
_sqr 1917723
_sqri 3606119
_sqrr 26369462
abpq_init 5087
abpq_sum 182463
agm 1662
agm1 1774
agm1cx 16754
agm1r_abs 186856
agmcx_a_b 16768
agmcx_gap 282437
agmcx_init 16768
agmr_gap 2550813
atanhQ_split 3484
catalan 7
constcatalan 7
consteuler 7137
constlog2 6288822
constpi 5527502
cos_p 49
cxexp 693844
cxexpm1 63
exp1r_abs 4735017
expIr 95649
expm1_Ir 56
gcos 165292
gcotan 98
gexp 2245513
gexpm1 112
glog 1619720
gpow 8037650
gpowers 280
gpowg0 127883
gpowgs 40003058
gsin 729085
gsincos 697470
gsqrt 3053505
gsqrtn 2025
gtan 77
log2_split 1742
logagmcx 15606
logagmr_abs 283256
logr_abs 1775860
modlog2 4649659
mpaut 2701882
mpcatalan 7
mpcos 2755484
mpcosm1 4262349
mpcotan 21
mpeuler 7137
mpexp 4680735
mpexp0 31083
mpexp_basecase 4649652
mpexpm1 161
mplog 233400
mplog2 6288822
mppi 5527495
mpsin 728770
mpsincos 802170
mpsincosm1 56
mptan 21
mulii3 311981
mulii4 93750
palogaux 1057
pari_close_floats 1186
pari_init_floats 1218
pi_ramanujan 1596
pow_monome 96040
pow_polmod 8569
powersr 15726
powgi 9521770
powis 11603613
powiu 15106420
powiu_sign 15569706
powp 161
powps 1358
powr0 1652
powrfrac 539
powrs 25583456
powrshalf 0
powru 130650
powruhalf 7450
powuu 3845226
rootsof1complex 7
rootsof1padic 0
rpowuu 107386
scalarpol_get_1 106043
ser_pow 42
ser_pow_1 42
ser_powfrac 63
serchop0 2098
serexp 19302
sin_p 49
sqrt_2adic 581
sqrt_ser 938
sqrtnint 1680
swap_clone 3591
teich 7
tofp_safe 2569
trans_eval 568017
transvec 29451
upowuu 7621633
usqrtn 429
usqru 1615167
val_from_i 56
zellagmcx 14

Generated by: LCOV version 1.9