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 19628-9774e23) Lines: 1840 1891 97.3 %
Date: 2016-10-01 05:54:29 Functions: 136 138 98.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Pi2n 4330945
PiI2 4354
PiI2n 6110
Qp_exp 20865
Qp_exp_prec 19927
Qp_exp_safe 21327
Qp_log 16051
Qp_sqrt 1736
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 267282
Z2_sqrt 1477
Zn_sqrt 350
Zp_teichmuller 1316
_mul 14385675
_muli 2916672
_mulr 849333
_one 41723
_oner 22268
_rpowuu_msqr 103464
_rpowuu_sqr 305965
_sqr 35804922
_sqri 4282649
_sqrr 6290558
abpq_init 7257
abpq_sum 527379
agm 2382
agm1 2494
agm1cx 11225
agm1r_abs 292718
agmcx_a_b 11239
agmcx_gap 193560
agmcx_init 11239
agmr_gap 4121470
atanhQ_split 4770
bug_logp 7
catalan 14
cbrtr_abs 12038
constcatalan 14
consteuler 19815
constlog2 9409665
constpi 10484232
cos_p 49
cxexp 1132996
cxexpm1 4980
exp1r_abs 6842240
expIr 137210
expm1_Ir 4889
gcos 215224
gcotan 126
gexp 5348379
gexpm1 10195
glog 2712376
gpow 12673312
gpow0 126
gpowers 41730
gpowers0 21122
gpowg0 2915419
gpowgs 44583160
grootsof1 62148
grootsof1_4 56385
gsin 274873
gsinc 107485
gsincos 1136888
gsqrpowers 19029
gsqrt 6475431
gsqrtn 2788
gtan 77
log2_split 2385
logagmcx 10077
logagmr_abs 310144
logr_abs 2853604
modlog2 6782144
mpaut 2872649
mpcatalan 14
mpcos 2805458
mpcosm1 4441283
mpcotan 21
mpeuler 19815
mpexp 7008906
mpexp0 227705
mpexp_basecase 6781201
mpexpm1 8851
mplog 210533
mplog2 9409665
mppi 10483289
mpsin 271772
mpsinc 107429
mpsincos 1384859
mpsincosm1 4889
mptan 21
mulii3 903019
mulii4 267282
palogaux 16044
pari_close_floats 204639
pari_init_floats 205022
pi_ramanujan 2473
pow_monome 334936
pow_polmod 12620
powersr 22268
powgi 32917603
powis 15082938
powiu 28350401
powiu_sign 28509831
powp 161
powps 16242
powr0 1666
powrfrac 504
powrs 5151178
powrshalf 0
powru 170209
powruhalf 15163
powuu 11123042
rpowuu 99756
scalarpol_get_1 115955
ser_agm1 14
ser_cmp_expo 56
ser_pow 189
ser_pow_1 189
ser_powfrac 210
serchop0 15729
serexp 28007
sin_p 63
sqrt_ser 1120
sqrtnint 27341
swap_clone 5220
teich 0
teichmuller 238
teichmullerinit 1197
tofp_safe 11683
trans_eval 645894
transvec 41081
upowuu 16491367
usqrtn 429
usqru 2711065
val_from_i 203
zellagmcx 14

Generated by: LCOV version 1.11