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-bordeaux.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 19041-b30db16) Lines: 1826 1877 97.3 %
Date: 2016-06-24 Functions: 135 138 97.8 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1150 1318 87.3 %

Function Name Sort by function name Hit count Sort by hit count
Pi2n 10577160
PiI2 4354
PiI2n 7068
Qp_exp 20833
Qp_exp_prec 19895
Qp_exp_safe 21295
Qp_log 7931
Qp_sqrt 1386
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 264822
Z2_sqrt 728
Zn_sqrt 350
Zp_teichmuller 1316
_mul 3985271
_muli 2823310
_mulr 3400294
_one 55734
_oner 22268
_rpowuu_msqr 103464
_rpowuu_sqr 370743
_sqr 10156278
_sqri 4133487
_sqrr 10687300
abpq_init 7901
abpq_sum 521815
agm 2361
agm1 2473
agm1cx 4075
agm1r_abs 286450
agmcx_a_b 4089
agmcx_gap 62567
agmcx_init 4089
agmr_gap 4024811
atanhQ_split 4482
bug_logp 7
catalan 14
cbrtr_abs 11901
constcatalan 14
consteuler 49145
constlog2 8890564
constpi 15526344
cos_p 49
cxexp 1141898
cxexpm1 4924
exp1r_abs 6793822
expIr 33729
expm1_Ir 4833
gcos 215126
gcotan 133
gexp 5327706
gexpm1 9845
glog 2582905
gpow 12485570
gpow0 126
gpowers 55741
gpowers0 21822
gpowg0 1227823
gpowgs 32699560
grootsof1 61400
grootsof1_4 55582
gsin 7147063
gsinc 107359
gsincos 1247375
gsqrpowers 18980
gsqrt 5043144
gsqrtn 2692
gtan 77
log2_split 2241
logagmcx 2927
logagmr_abs 303812
logr_abs 2393088
modlog2 6734024
mpaut 6216207
mpcatalan 14
mpcos 2805360
mpcosm1 11305470
mpcotan 21
mpeuler 49145
mpexp 6961073
mpexp0 227974
mpexp_basecase 6733099
mpexpm1 8571
mplog 239768
mplog2 8890564
mppi 15525419
mpsin 7143969
mpsinc 107303
mpsincos 1391725
mpsincosm1 4833
mptan 21
mulii3 893114
mulii4 264822
palogaux 7924
pari_close_floats 195215
pari_init_floats 192807
pi_ramanujan 3405
pow_monome 419249
pow_polmod 12111
powersr 22268
powgi 17302551
powis 14339869
powiu 20735947
powiu_sign 21066235
powp 161
powps 1946
powr0 1645
powrfrac 504
powrs 9407190
powrshalf 0
powru 168659
powruhalf 15050
powuu 9974894
rootsof1complex 7
rootsof1padic 0
rpowuu 164380
scalarpol_get_1 115962
ser_pow 189
ser_pow_1 189
ser_powfrac 210
serchop0 15386
serexp 27482
sin_p 63
sqrt_ser 1134
sqrtnint 26982
swap_clone 6113
teich 0
teichmuller 238
teichmullerinit 1197
tofp_safe 11683
trans_eval 601796
transvec 35284
upowuu 11273242
usqrtn 429
usqru 2051712
val_from_i 203
zellagmcx 14

Generated by: LCOV version 1.9