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 19352-1b11b25) Lines: 1826 1883 97.0 %
Date: 2016-08-25 06:11:27 Functions: 135 138 97.8 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Pi2n 4310958
PiI2 4354
PiI2n 7110
Qp_exp 20868
Qp_exp_prec 19930
Qp_exp_safe 21330
Qp_log 7952
Qp_sqrt 1862
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 263333
Z2_sqrt 854
Zn_sqrt 350
Zp_teichmuller 1316
_mul 14374934
_muli 2857716
_mulr 847474
_one 41695
_oner 22268
_rpowuu_msqr 103240
_rpowuu_sqr 305468
_sqr 35783681
_sqri 4198683
_sqrr 6282222
abpq_init 7091
abpq_sum 519647
agm 2361
agm1 2473
agm1cx 4237
agm1r_abs 289114
agmcx_a_b 4251
agmcx_gap 66961
agmcx_init 4251
agmr_gap 4063635
atanhQ_split 4670
bug_logp 7
catalan 14
cbrtr_abs 11963
constcatalan 14
consteuler 19765
constlog2 9287693
constpi 10455278
cos_p 49
cxexp 1133026
cxexpm1 4980
exp1r_abs 6837924
expIr 33729
expm1_Ir 4889
gcos 215126
gcotan 126
gexp 5346521
gexpm1 10195
glog 2677721
gpow 12655603
gpow0 126
gpowers 41702
gpowers0 21115
gpowg0 2913661
gpowgs 44569624
grootsof1 61000
grootsof1_4 55521
gsin 274673
gsinc 107359
gsincos 1238686
gsqrpowers 19029
gsqrt 6120130
gsqrtn 2712
gtan 77
log2_split 2335
logagmcx 3089
logagmr_abs 306458
logr_abs 2742105
modlog2 6777858
mpaut 2867212
mpcatalan 14
mpcos 2805360
mpcosm1 4436539
mpcotan 21
mpeuler 19765
mpexp 7003765
mpexp0 226844
mpexp_basecase 6776921
mpexpm1 8851
mplog 210196
mplog2 9287693
mppi 10454341
mpsin 271572
mpsinc 107303
mpsincos 1383050
mpsincosm1 4889
mptan 21
mulii3 890049
mulii4 263333
palogaux 7945
pari_close_floats 211481
pari_init_floats 211811
pi_ramanujan 2407
pow_monome 333186
pow_polmod 12160
powersr 22268
powgi 32895003
powis 15092800
powiu 27976262
powiu_sign 28146156
powp 161
powps 1960
powr0 1659
powrfrac 504
powrs 5149850
powrshalf 0
powru 166836
powruhalf 15043
powuu 11004976
rootsof1complex 7
rootsof1padic 0
rpowuu 99637
scalarpol_get_1 115948
ser_pow 189
ser_pow_1 189
ser_powfrac 210
serchop0 15687
serexp 27958
sin_p 63
sqrt_ser 1057
sqrtnint 27133
swap_clone 5103
teich 0
teichmuller 238
teichmullerinit 1197
tofp_safe 11683
trans_eval 640576
transvec 35973
upowuu 16150487
usqrtn 429
usqru 2674783
val_from_i 203
zellagmcx 14

Generated by: LCOV version 1.11