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.10.0 lcov report (development 19832-7f23dbb) Lines: 1840 1891 97.3 %
Date: 2016-12-08 05:49:22 Functions: 136 138 98.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Pi2n 4342847
PiI2 4354
PiI2n 6159
Qp_exp 20857
Qp_exp_prec 19919
Qp_exp_safe 21319
Qp_log 23352
Qp_sqrt 1736
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 267030
Z2_sqrt 1477
Zn_sqrt 350
Zp_teichmuller 1316
_mul 14119608
_muli 2926754
_mulr 851572
_one 42024
_oner 23227
_rpowuu_msqr 99513
_rpowuu_sqr 295242
_sqr 34963067
_sqri 4304063
_sqrr 6293326
abpq_init 7248
abpq_sum 526884
agm 2466
agm1 2578
agm1cx 11225
agm1r_abs 293441
agmcx_a_b 11239
agmcx_gap 193560
agmcx_init 11239
agmr_gap 4130086
atanhQ_split 4754
bug_logp 7
catalan 14
cbrtr_abs 12019
constcatalan 14
consteuler 19766
constlog2 9451869
constpi 10504611
cos_p 49
cxexp 1140778
cxexpm1 4980
exp1r_abs 6870390
expIr 137205
expm1_Ir 4889
gcos 215224
gcotan 126
gexp 5383216
gexpm1 10195
glog 2726912
gpow 12715492
gpow0 126
gpowers 42031
gpowers0 21150
gpowg0 2903707
gpowgs 44287375
grootsof1 62420
grootsof1_4 56658
gsin 274873
gsinc 107485
gsincos 1144670
gsqrpowers 19036
gsqrt 6481804
gsqrtn 2723
gtan 77
log2_split 2377
logagmcx 10077
logagmr_abs 310774
logr_abs 2869242
modlog2 6810294
mpaut 2880250
mpcatalan 14
mpcos 2805458
mpcosm1 4448884
mpcotan 21
mpeuler 19766
mpexp 7036195
mpexp0 226844
mpexp_basecase 6809351
mpexpm1 8851
mplog 209969
mplog2 9451869
mppi 10503668
mpsin 271772
mpsinc 107429
mpsincos 1392636
mpsincosm1 4889
mptan 21
mulii3 902161
mulii4 267030
palogaux 23345
pari_close_floats 64293
pari_init_floats 64004
pi_ramanujan 2480
pow_monome 335333
pow_polmod 12620
powersr 23227
powgi 32840256
powis 15080093
powiu 28142168
powiu_sign 28296002
powp 161
powps 40971
powr0 1694
powrfrac 504
powrs 5151234
powrshalf 0
powru 169771
powruhalf 14778
powuu 11150025
rpowuu 97394
scalarpol_get_1 115969
ser_agm1 14
ser_cmp_expo 56
ser_pow 196
ser_pow_1 196
ser_powfrac 217
serchop0 15946
serexp 28525
sin_p 63
sqrt_ser 1127
sqrtnint 27291
swap_clone 5219
teich 0
teichmuller 238
teichmullerinit 1197
tofp_safe 11683
trans_eval 648166
transvec 41676
upowuu 18709977
usqrtn 429
usqru 2740959
val_from_i 210
zellagmcx 14

Generated by: LCOV version 1.11