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 16741-1378b1c) Lines: 1687 1734 97.3 %
Date: 2014-08-17 Functions: 126 128 98.4 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1052 1206 87.2 %

Function Name Sort by function name Hit count Sort by hit count
Pi2n 3731344
PiI2 3005
PiI2n 4715
Qp_exp 7370
Qp_exp_prec 7110
Qp_exp_safe 7700
Qp_log 760
Qp_sqrt 975
Qp_sqrtn 835
Qp_sqrtn_ram 610
Qp_sqrtn_unram 440
T2 67513
Up_sqrt 1645
Zn_sqrt 250
Zp_teichmuller 10
_mul 494744
_muli 1568546
_mulr 392198
_one 200
_oner 11407
_rpowuu_msqr 74517
_rpowuu_sqr 231925
_sqr 1210839
_sqri 2703970
_sqrr 18837530
abpq_init 3638
abpq_sum 131434
agm 1242
agm1 1327
agm1cx 16414
agm1r_abs 88808
agmcx_a_b 16434
agmcx_gap 279959
agmcx_init 16434
agmr_gap 1253991
atanhQ_split 2514
catalan 5
constcatalan 5
consteuler 5735
constlog2 4900869
constpi 5073146
cos_p 35
cxexp 582090
cxexpm1 50
exp1r_abs 3511968
expIr 68818
expm1_Ir 40
gcos 121245
gcotan 70
gexp 1820154
gexpm1 80
glog 1357947
gpow 5774534
gpowers 200
gpowg0 76405
gpowgs 28574755
gsin 632225
gsincos 584500
gsqrt 2384431
gsqrtn 1498
gtan 65
log2_split 1257
logagmcx 15594
logagmr_abs 151682
logr_abs 1546177
modlog2 3450988
mpaut 2706059
mpcatalan 5
mpcos 3617511
mpcosm1 4886509
mpcotan 15
mpeuler 5735
mpexp 3473295
mpexp0 22312
mpexp_basecase 3450983
mpexpm1 120
mplog 167666
mplog2 4900869
mppi 5073141
mpsin 631945
mpsincos 659728
mpsincosm1 40
mptan 20
mulii3 224607
mulii4 67513
palogaux 755
pari_close_floats 850
pari_init_floats 862
pi_ramanujan 1119
pow_monome 72100
pow_polmod 6119
powersr 11407
powgi 6825969
powis 8325047
powiu 10876447
powiu_sign 11278891
powp 115
powps 970
powr0 1185
powrfrac 385
powrs 18281238
powrshalf 0
powru 94414
powruhalf 5165
powuu 2968837
rootsof1complex 5
rootsof1padic 0
rpowuu 79159
scalarpol_get_1 61890
ser_pow 30
ser_pow_1 30
ser_powfrac 45
serchop0 1385
serexp 15180
sin_p 35
sqrt_2adic 415
sqrt_ser 670
sqrtnint 1229
swap_clone 2566
teich 10
tofp_safe 1930
trans_eval 425480
transvec 21818
upowuu 5653554
usqrtn 302
usqru 1224263
val_from_i 40
zellagmcx 20

Generated by: LCOV version 1.9