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 18906-a425091) Lines: 1826 1877 97.3 %
Date: 2016-05-06 Functions: 135 138 97.8 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1151 1318 87.3 %

Function Name Sort by function name Hit count Sort by hit count
Pi2n 10571890
PiI2 4354
PiI2n 7040
Qp_exp 20760
Qp_exp_prec 19822
Qp_exp_safe 21222
Qp_log 7910
Qp_sqrt 1358
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 265048
Z2_sqrt 728
Zn_sqrt 350
Zp_teichmuller 1001
_mul 3949693
_muli 2843347
_mulr 3398203
_one 55062
_oner 22422
_rpowuu_msqr 103646
_rpowuu_sqr 371163
_sqr 10077432
_sqri 4158862
_sqrr 10682425
abpq_init 7938
abpq_sum 522230
agm 2361
agm1 2473
agm1cx 4075
agm1r_abs 286498
agmcx_a_b 4089
agmcx_gap 62567
agmcx_init 4089
agmr_gap 4025421
atanhQ_split 4512
bug_logp 7
catalan 14
cbrtr_abs 11916
constcatalan 14
consteuler 48809
constlog2 8867596
constpi 15497337
cos_p 49
cxexp 1136298
cxexpm1 4924
exp1r_abs 6771159
expIr 33729
expm1_Ir 4833
gcos 215126
gcotan 133
gexp 5298908
gexpm1 9845
glog 2582030
gpow 12437198
gpow0 126
gpowers 55069
gpowers0 21815
gpowg0 1226864
gpowgs 32627578
grootsof1 61553
grootsof1_4 55512
gsin 7147063
gsinc 107359
gsincos 1241834
gsqrpowers 18980
gsqrt 5020736
gsqrtn 2922
gtan 77
log2_split 2256
logagmcx 2927
logagmr_abs 303860
logr_abs 2392566
modlog2 6711361
mpaut 6210666
mpcatalan 14
mpcos 2805360
mpcosm1 11299929
mpcotan 21
mpeuler 48809
mpexp 6938403
mpexp0 227967
mpexp_basecase 6710436
mpexpm1 8571
mplog 240002
mplog2 8867596
mppi 15496412
mpsin 7143969
mpsinc 107303
mpsincos 1386184
mpsincosm1 4833
mptan 21
mulii3 893804
mulii4 265048
palogaux 7903
pari_close_floats 1836
pari_init_floats 193335
pi_ramanujan 3412
pow_monome 407195
pow_polmod 12111
powersr 22422
powgi 17254045
powis 14326557
powiu 20705310
powiu_sign 21037001
powp 161
powps 1855
powr0 1631
powrfrac 504
powrs 9404796
powrshalf 0
powru 169321
powruhalf 14518
powuu 9439881
rootsof1complex 7
rootsof1padic 0
rpowuu 164464
scalarpol_get_1 115948
ser_pow 189
ser_pow_1 189
ser_powfrac 210
serchop0 15288
serexp 27370
sin_p 63
sqrt_ser 1134
sqrtnint 27013
swap_clone 6135
teich 0
teichmuller 238
teichmullerinit 938
tofp_safe 11683
trans_eval 601649
transvec 35207
upowuu 10641632
usqrtn 429
usqru 2037338
val_from_i 203
zellagmcx 14

Generated by: LCOV version 1.9