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 16827-3d78da8) Lines: 1686 1733 97.3 %
Date: 2014-09-29 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 3822402
PiI2 4207
PiI2n 6615
Qp_exp 10325
Qp_exp_prec 9961
Qp_exp_safe 10787
Qp_log 1064
Qp_sqrt 1365
Qp_sqrtn 1169
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 94557
Up_sqrt 2303
Zn_sqrt 350
Zp_teichmuller 14
_mul 770299
_muli 2587653
_mulr 595482
_one 280
_oner 16024
_rpowuu_msqr 105515
_rpowuu_sqr 327287
_sqr 2034479
_sqri 3900767
_sqrr 26419376
abpq_init 5104
abpq_sum 184062
agm 1738
agm1 1857
agm1cx 16754
agm1r_abs 187252
agmcx_a_b 16782
agmcx_gap 282521
agmcx_init 16782
agmr_gap 2555690
atanhQ_split 3494
catalan 7
constcatalan 7
consteuler 8617
constlog2 6322255
constpi 5619576
cos_p 49
cxexp 701055
cxexpm1 70
exp1r_abs 4753161
expIr 96418
expm1_Ir 56
gcos 165327
gcotan 98
gexp 2271010
gexpm1 112
glog 1639298
gpow 8084430
gpowers 280
gpowg0 127743
gpowgs 40137554
gsin 805539
gsincos 704772
gsqrt 3068422
gsqrtn 2102
gtan 91
log2_split 1747
logagmcx 15606
logagmr_abs 283595
logr_abs 1792893
modlog2 4667789
mpaut 2748068
mpcatalan 7
mpcos 2755505
mpcosm1 4346405
mpcotan 21
mpeuler 8617
mpexp 4699236
mpexp0 31454
mpexp_basecase 4667782
mpexpm1 168
mplog 235177
mplog2 6322255
mppi 5619569
mpsin 805147
mpsincos 810164
mpsincosm1 56
mptan 28
mulii3 314694
mulii4 94557
palogaux 1057
pari_close_floats 1186
pari_init_floats 1218
pi_ramanujan 1603
pow_monome 97272
pow_polmod 8590
powersr 16024
powgi 9569830
powis 11653904
powiu 15071168
powiu_sign 15641398
powp 161
powps 1358
powr0 1708
powrfrac 546
powrs 25593676
powrshalf 0
powru 132928
powruhalf 7553
powuu 3943318
rootsof1complex 7
rootsof1padic 0
rpowuu 111399
scalarpol_get_1 106050
ser_pow 42
ser_pow_1 42
ser_powfrac 63
serchop0 2128
serexp 21630
sin_p 49
sqrt_2adic 581
sqrt_ser 938
sqrtnint 1687
swap_clone 3609
teich 14
tofp_safe 2702
trans_eval 573213
transvec 30592
upowuu 7736171
usqrtn 436
usqru 1652718
val_from_i 56
zellagmcx 28

Generated by: LCOV version 1.9