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 16791-0d1274a) Lines: 1689 1736 97.3 %
Date: 2014-09-16 Functions: 126 128 98.4 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1055 1210 87.2 %

Function Name Sort by function name Hit count Sort by hit count
Pi2n 3707265
PiI2 3005
PiI2n 4725
Qp_exp 7375
Qp_exp_prec 7115
Qp_exp_safe 7705
Qp_log 760
Qp_sqrt 975
Qp_sqrtn 835
Qp_sqrtn_ram 610
Qp_sqrtn_unram 440
T2 67203
Up_sqrt 1645
Zn_sqrt 250
Zp_teichmuller 10
_mul 550195
_muli 1882870
_mulr 426064
_one 200
_oner 11432
_rpowuu_msqr 75833
_rpowuu_sqr 234807
_sqr 1453220
_sqri 2858303
_sqrr 18871548
abpq_init 3680
abpq_sum 130774
agm 1242
agm1 1327
agm1cx 16414
agm1r_abs 62856
agmcx_a_b 16434
agmcx_gap 279959
agmcx_init 16434
agmr_gap 856830
atanhQ_split 2510
catalan 5
constcatalan 5
consteuler 6155
constlog2 4515781
constpi 4991175
cos_p 35
cxexp 500899
cxexpm1 50
exp1r_abs 3395329
expIr 68843
expm1_Ir 40
gcos 118365
gcotan 70
gexp 1622456
gexpm1 80
glog 1166724
gpow 5774589
gpowers 200
gpowg0 91245
gpowgs 28669517
gsin 746369
gsincos 503554
gsqrt 2347534
gsqrtn 1498
gtan 65
log2_split 1255
logagmcx 15594
logagmr_abs 125739
logr_abs 1276471
modlog2 3334349
mpaut 2684858
mpcatalan 5
mpcos 3614631
mpcosm1 4921716
mpcotan 15
mpeuler 6155
mpexp 3356816
mpexp0 22472
mpexp_basecase 3334344
mpexpm1 120
mplog 168049
mplog2 4515781
mppi 4991170
mpsin 746089
mpsincos 578807
mpsincosm1 40
mptan 20
mulii3 223572
mulii4 67203
palogaux 755
pari_close_floats 886
pari_init_floats 918
pi_ramanujan 1165
pow_monome 69405
pow_polmod 6119
powersr 11432
powgi 6835574
powis 8323952
powiu 10777026
powiu_sign 11179280
powp 115
powps 970
powr0 1220
powrfrac 390
powrs 18281208
powrshalf 0
powru 94889
powruhalf 5395
powuu 2944767
rootsof1complex 5
rootsof1padic 0
rpowuu 79857
scalarpol_get_1 75750
ser_pow 30
ser_pow_1 30
ser_powfrac 45
serchop0 1520
serexp 15450
sin_p 35
sqrt_2adic 415
sqrt_ser 670
sqrtnint 1229
swap_clone 2607
teich 10
tofp_safe 1930
trans_eval 409497
transvec 21838
upowuu 5525657
usqrtn 302
usqru 1173325
val_from_i 40
zellagmcx 20

Generated by: LCOV version 1.9