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 17908-5dc2363) Lines: 1754 1801 97.4 %
Date: 2015-07-02 Functions: 130 132 98.5 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1100 1256 87.6 %

Function Name Sort by function name Hit count Sort by hit count
Pi2n 10251326
PiI2 4354
PiI2n 6928
Qp_exp 20761
Qp_exp_prec 19823
Qp_exp_safe 21223
Qp_log 1064
Qp_sqrt 1358
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 255142
Up_sqrt 2296
Zn_sqrt 350
Zp_teichmuller 7
_mul 1397243
_muli 2956625
_mulr 3190319
_one 2329
_oner 15576
_rpowuu_msqr 94418
_rpowuu_sqr 349322
_sqr 3795827
_sqri 4322759
_sqrr 9611028
abpq_init 7442
abpq_sum 502914
agm 1731
agm1 1843
agm1cx 3799
agm1r_abs 284317
agmcx_a_b 3813
agmcx_gap 58079
agmcx_init 3813
agmr_gap 3999205
atanhQ_split 4192
catalan 7
cbrtr_abs 11355
constcatalan 7
consteuler 39660
constlog2 6589907
constpi 12377612
cos_p 49
cxexp 976601
cxexpm1 98
exp1r_abs 4703566
expIr 110756
expm1_Ir 91
gcos 215168
gcotan 126
gexp 2922051
gexpm1 245
glog 2040955
gpow 8510141
gpow0 126
gpowers 2329
gpowg0 146681
gpowgs 24386852
gsin 7338765
gsinc 244573
gsincos 980297
gsqrt 3093010
gsqrtn 2562
gtan 77
log2_split 2096
logagmcx 2651
logagmr_abs 302188
logr_abs 2098765
modlog2 4652143
mpaut 6353274
mpcatalan 7
mpcos 2805360
mpcosm1 11442545
mpcotan 21
mpeuler 39660
mpexp 4838025
mpexp0 186807
mpexp_basecase 4651218
mpexpm1 189
mplog 206867
mplog2 6589907
mppi 12376687
mpsin 7338429
mpsinc 244517
mpsincos 1338909
mpsincosm1 91
mptan 21
mulii3 861009
mulii4 255142
palogaux 1057
pari_close_floats 1780
pari_init_floats 3282
pi_ramanujan 3243
pow_monome 107352
pow_polmod 10431
powersr 15576
powgi 9867985
powis 12637379
powiu 16751261
powiu_sign 17083366
powp 161
powps 1358
powr0 1603
powrfrac 539
powrs 8740069
powrshalf 0
powru 156657
powruhalf 13391
powuu 6132312
rootsof1complex 7
rootsof1padic 0
rpowuu 160212
scalarpol_get_1 106540
ser_pow 189
ser_pow_1 189
ser_powfrac 210
serchop0 3738
serexp 20867
sin_p 63
sqrt_2adic 581
sqrt_ser 1085
sqrtnint 25832
swap_clone 5769
teich 7
tofp_safe 11459
trans_eval 662884
transvec 32493
upowuu 8452296
usqrtn 429
usqru 1686262
val_from_i 203
zellagmcx 14

Generated by: LCOV version 1.9