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 17097-9391e68) Lines: 1686 1733 97.3 %
Date: 2014-11-21 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 2668532
PiI2 3110
PiI2n 4790
Qp_exp 7385
Qp_exp_prec 7125
Qp_exp_safe 7715
Qp_log 760
Qp_sqrt 965
Qp_sqrtn 845
Qp_sqrtn_ram 610
Qp_sqrtn_unram 440
T2 67999
Up_sqrt 1635
Zn_sqrt 250
Zp_teichmuller 5
_mul 1080290
_muli 1888280
_mulr 425998
_one 200
_oner 11597
_rpowuu_msqr 69231
_rpowuu_sqr 219275
_sqr 2831210
_sqri 2879081
_sqrr 18877516
abpq_init 3773
abpq_sum 132287
agm 1212
agm1 1292
agm1cx 16414
agm1r_abs 68757
agmcx_a_b 16424
agmcx_gap 279899
agmcx_init 16424
agmr_gap 952540
atanhQ_split 2594
catalan 5
constcatalan 5
consteuler 5035
constlog2 4550051
constpi 3959688
cos_p 35
cxexp 503512
cxexpm1 45
exp1r_abs 3401202
expIr 70196
expm1_Ir 40
gcos 121220
gcotan 70
gexp 1622626
gexpm1 80
glog 1187230
gpow 5871468
gpowers 200
gpowg0 91522
gpowgs 28776757
gsin 577615
gsincos 506067
gsqrt 2380663
gsqrtn 1496
gtan 55
log2_split 1297
logagmcx 15594
logagmr_abs 131665
logr_abs 1303414
modlog2 3340232
mpaut 1968435
mpcatalan 5
mpcos 1971356
mpcosm1 3113904
mpcotan 15
mpeuler 5035
mpexp 3362494
mpexp0 22267
mpexp_basecase 3340227
mpexpm1 115
mplog 177824
mplog2 4550051
mppi 3959683
mpsin 577390
mpsincos 582728
mpsincosm1 40
mptan 15
mulii3 226367
mulii4 67999
palogaux 755
pari_close_floats 880
pari_init_floats 892
pi_ramanujan 1174
pow_monome 68660
pow_polmod 6089
powersr 11597
powgi 6932405
powis 8313663
powiu 10855762
powiu_sign 11178141
powp 115
powps 970
powr0 1205
powrfrac 385
powrs 18284728
powrshalf 0
powru 95900
powruhalf 6125
powuu 3015738
rootsof1complex 5
rootsof1padic 0
rpowuu 76386
scalarpol_get_1 75755
ser_pow 30
ser_pow_1 30
ser_powfrac 45
serchop0 1535
serexp 13860
sin_p 35
sqrt_2adic 415
sqrt_ser 675
sqrtnint 1224
swap_clone 2653
teich 5
tofp_safe 1835
trans_eval 412040
transvec 22499
upowuu 5514728
usqrtn 297
usqru 1150860
val_from_i 40
zellagmcx 10

Generated by: LCOV version 1.9