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 16624-25b9976) Lines: 1683 1729 97.3 %
Date: 2014-06-24 Functions: 124 126 98.4 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1051 1204 87.3 %

Function Name Sort by function name Hit count Sort by hit count
Pi2n 3850966
PiI2 3005
PiI2n 4735
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 70358
Up_sqrt 1645
Zn_sqrt 250
Zp_teichmuller 10
_mul 429785
_muli 1571380
_mulr 391040
_oner 12597
_rpowuu_msqr 77350
_rpowuu_sqr 238173
_sqr 1149406
_sqri 2713174
_sqrr 18840755
abpq_init 3754
abpq_sum 137008
agm 1244
agm1 1329
agm1cx 16450
agm1r_abs 88092
agmcx_a_b 16470
agmcx_gap 280512
agmcx_init 16470
agmr_gap 1245590
atanhQ_split 2602
catalan 5
constcatalan 5
consteuler 5345
constlog2 4914777
constpi 5197145
cos_p 35
cxexp 594812
cxexpm1 50
exp1r_abs 3515093
expIr 69777
expm1_Ir 40
gcos 118365
gcotan 70
gexp 1835056
gexpm1 80
glog 1379184
gpow 5774252
gpowg0 75832
gpowgs 28583287
gsin 746374
gsincos 597222
gsqrt 2743643
gsqrtn 1507
gtan 65
log2_split 1301
logagmcx 15630
logagmr_abs 150898
logr_abs 1557151
modlog2 3454113
mpaut 2779469
mpcatalan 5
mpcos 3614631
mpcosm1 5016327
mpcotan 15
mpeuler 5345
mpexp 3476378
mpexp0 22270
mpexp_basecase 3454108
mpexpm1 120
mplog 167679
mplog2 4914777
mppi 5197140
mpsin 746094
mpsincos 673409
mpsincosm1 40
mptan 20
mulii3 234603
mulii4 70358
palogaux 755
pari_close_floats 881
pari_init_floats 913
pi_ramanujan 1147
pow_monome 72030
pow_polmod 6120
powersr 12597
powgi 6826477
powis 8330745
powiu 10879919
powiu_sign 11285420
powp 115
powps 970
powr0 1190
powrfrac 385
powrs 18282408
powrshalf 0
powru 95934
powruhalf 5174
powuu 2974614
rootsof1complex 5
rootsof1padic 0
rpowuu 80699
scalarpol_get_1 61890
ser_pow 30
ser_pow_1 30
ser_powfrac 45
serchop0 1415
serexp 15240
sin_p 35
sqrt_2adic 415
sqrt_ser 670
sqrtnint 1229
swap_clone 2675
teich 10
tofp_safe 1930
trans_eval 428433
transvec 24267
upowuu 5656345
usqrtn 302
usqru 1228839
val_from_i 40
zellagmcx 20

Generated by: LCOV version 1.9