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 17727-c4b959b) Lines: 1734 1784 97.2 %
Date: 2015-04-19 Functions: 129 131 98.5 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1082 1244 87.0 %

Function Name Sort by function name Hit count Sort by hit count
Pi2n 10325623
PiI2 4354
PiI2n 6928
Qp_exp 10561
Qp_exp_prec 10211
Qp_exp_safe 11023
Qp_log 1064
Qp_sqrt 1358
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 144592
Up_sqrt 2296
Zn_sqrt 350
Zp_teichmuller 7
_mul 1454864
_muli 2988542
_mulr 3170090
_one 26971
_oner 15576
_rpowuu_msqr 93417
_rpowuu_sqr 346872
_sqr 3875328
_sqri 4366362
_sqrr 9633125
abpq_init 6201
abpq_sum 283055
agm 1731
agm1 1843
agm1cx 15275
agm1r_abs 255059
agmcx_a_b 15289
agmcx_gap 250107
agmcx_init 15289
agmr_gap 3516961
atanhQ_split 3432
catalan 7
cbrtr_abs 11355
constcatalan 7
consteuler 51878
constlog2 6691063
constpi 12455189
cos_p 49
cxexp 1072288
cxexpm1 63
exp1r_abs 4814190
expIr 105408
expm1_Ir 56
gcos 215168
gcotan 245
gexp 3064539
gexpm1 112
glog 2088990
gpow 8496928
gpowers 26971
gpowg0 2465913
gpowgs 29947556
gsin 7319022
gsinc 244573
gsincos 1076341
gsqrt 3471223
gsqrtn 2548
gtan 77
log2_split 1716
logagmcx 14127
logagmr_abs 322964
logr_abs 2109510
modlog2 4706563
mpaut 6423983
mpcatalan 7
mpcos 2805360
mpcosm1 11513225
mpcotan 21
mpeuler 51878
mpexp 4892544
mpexp0 186660
mpexp_basecase 4705884
mpexpm1 161
mplog 222365
mplog2 6691063
mppi 12454510
mpsin 7318686
mpsinc 244517
mpsincos 1429367
mpsincosm1 56
mptan 21
mulii3 486391
mulii4 144592
palogaux 1057
pari_close_floats 1759
pari_init_floats 3107
pi_ramanujan 2762
pow_monome 107240
pow_polmod 10431
powersr 15576
powgi 9803477
powis 14365404
powiu 18333715
powiu_sign 18681714
powp 161
powps 1358
powr0 1603
powrfrac 539
powrs 8784912
powrshalf 0
powru 171983
powruhalf 13370
powuu 6345363
rootsof1complex 7
rootsof1padic 0
rpowuu 159715
scalarpol_get_1 115164
ser_pow 189
ser_pow_1 189
ser_powfrac 210
serchop0 21196
serexp 42973
sin_p 63
sqrt_2adic 581
sqrt_ser 994
sqrtnint 25832
swap_clone 4851
teich 7
tofp_safe 11452
trans_eval 714294
transvec 32451
upowuu 11186923
usqrtn 429
usqru 2845961
val_from_i 203
zellagmcx 14

Generated by: LCOV version 1.9