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 17953-c39f2e6) Lines: 1754 1801 97.4 %
Date: 2015-09-01 Functions: 130 132 98.5 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1101 1256 87.7 %

Function Name Sort by function name Hit count Sort by hit count
Pi2n 10251347
PiI2 4354
PiI2n 6928
Qp_exp 20765
Qp_exp_prec 19827
Qp_exp_safe 21227
Qp_log 1064
Qp_sqrt 1358
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 255256
Up_sqrt 2296
Zn_sqrt 350
Zp_teichmuller 7
_mul 3748704
_muli 2952637
_mulr 3190333
_one 2329
_oner 15576
_rpowuu_msqr 94446
_rpowuu_sqr 349364
_sqr 9494567
_sqri 4330385
_sqrr 9611056
abpq_init 7465
abpq_sum 503117
agm 1731
agm1 1843
agm1cx 3799
agm1r_abs 284317
agmcx_a_b 3813
agmcx_gap 58079
agmcx_init 3813
agmr_gap 3999205
atanhQ_split 4206
catalan 7
cbrtr_abs 11355
constcatalan 7
consteuler 39611
constlog2 6596151
constpi 12807918
cos_p 49
cxexp 976601
cxexpm1 98
exp1r_abs 4709810
expIr 110756
expm1_Ir 91
gcos 215168
gcotan 126
gexp 2921967
gexpm1 245
glog 2040969
gpow 9662510
gpow0 126
gpowers 2329
gpowg0 653571
gpowgs 29307349
gsin 7338765
gsinc 244573
gsincos 980304
gsqrt 3952552
gsqrtn 2562
gtan 77
log2_split 2103
logagmcx 2651
logagmr_abs 302188
logr_abs 2098779
modlog2 4658387
mpaut 6353281
mpcatalan 7
mpcos 2805360
mpcosm1 11442552
mpcotan 21
mpeuler 39611
mpexp 4844234
mpexp0 186772
mpexp_basecase 4657462
mpexpm1 189
mplog 206867
mplog2 6596151
mppi 12806993
mpsin 7338429
mpsinc 244517
mpsincos 1338916
mpsincosm1 91
mptan 21
mulii3 861361
mulii4 255256
palogaux 1057
pari_close_floats 1787
pari_init_floats 3289
pi_ramanujan 3252
pow_monome 109088
pow_polmod 11964
powersr 15576
powgi 14649197
powis 13958841
powiu 19266306
powiu_sign 19591614
powp 161
powps 1358
powr0 1603
powrfrac 539
powrs 8740069
powrshalf 0
powru 156664
powruhalf 13391
powuu 6143692
rootsof1complex 7
rootsof1padic 0
rpowuu 160233
scalarpol_get_1 106785
ser_pow 189
ser_pow_1 189
ser_powfrac 210
serchop0 3738
serexp 20867
sin_p 63
sqrt_2adic 581
sqrt_ser 1078
sqrtnint 25832
swap_clone 5785
teich 7
tofp_safe 11459
trans_eval 1092613
transvec 32493
upowuu 9322493
usqrtn 429
usqru 1833675
val_from_i 203
zellagmcx 14

Generated by: LCOV version 1.9