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 20777-d2a9243) Lines: 1947 1997 97.5 %
Date: 2017-06-25 05:59:24 Functions: 141 143 98.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Pi2n 4509531
PiI2 6132
PiI2n 9162
Qp_exp 21164
Qp_exp_prec 20226
Qp_exp_safe 21626
Qp_log 26264
Qp_sqrt 1736
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 170883
Z2_sqrt 1477
Zn_sqrt 350
Zp_teichmuller 1316
_mul 14432513
_muli 3073644
_mulr 1282241
_one 52174
_oner 24011
_rpowuu_msqr 181570
_rpowuu_sqr 473760
_sqr 35768180
_sqri 4600575
_sqrr 7134239
abpq_init 6754
abpq_sum 335084
agm 8864
agm1 9158
agm1cx 15258
agm1r_abs 268463
agmcx_a_b 15300
agmcx_gap 221286
agmcx_init 15300
agmr_gap 3671028
atanhQ_split 4594
bug_logp 7
catalan 14
constcatalan 14
consteuler 20240
constlog2 9401264
constpi 10637981
cos_p 49
cubic_prec_mask 209359
cxexp 1241073
cxexpm1 5001
exp1r_abs 6815777
expIr 99353
expm1_Ir 4910
gcos 93346
gcotan 154
gexp 5110932
gexpm1 10538
glog 2539702
gpow 13131633
gpow0 126
gpowers 52181
gpowers0 25245
gpowg0 3020415
gpowgs 92902011
grootsof1 82879
grootsof1_4 70876
gsin 134983
gsinc 107506
gsincos 1245735
gsqrpowers 22872
gsqrt 7245895
gsqrtn 2764
gtan 105
log2_split 2297
logagmcx 10092
logagmr_abs 295258
logr_abs 3036124
modlog2 6755296
mpaut 2818780
mpcatalan 14
mpcos 2683559
mpcosm1 4252606
mpcotan 35
mpeuler 20240
mpexp 6951948
mpexp0 197343
mpexp_basecase 6754605
mpexpm1 8956
mplog 105171
mplog2 9401264
mppi 10637290
mpsin 131378
mpsinc 107436
mpsincos 1455786
mpsincosm1 4910
mptan 35
mulii3 575877
mulii4 170883
palogaux 26257
pari_close_floats 32011
pari_init_floats 31990
pi_ramanujan 2146
pow_monome 460675
pow_polmod 27754
powersr 24011
powgi 80712222
powis 21985275
powiu 34701377
powiu_sign 34806472
powp 161
powps 41188
powr0 2919
powrfrac 504
powrs 5347069
powrshalf 0
powru 608220
powruhalf 21694
powuu 23842278
rootsof1_cx 3528
rootsof1u_cx 159070
rpowuu 127006
scalarpol_get_1 116109
ser_agm1 14
ser_cmp_expo 56
ser_pow 203
ser_pow_1 203
ser_powfrac 224
serchop0 17773
serexp 32676
shiftc_inplace 11781
sin_p 63
sqrt_ser 1638
sqrtnint 978
sqrtnof1 70965
sqrtnr_abs 281502
swap_clone 4832
teich 0
teichmuller 238
teichmullerinit 1197
tofp_safe 12369
trans_eval 456935
transvec 63226
upowuu 24685057
usqrtn 429
usqru 4988694
val_from_i 217
zellagmcx 42

Generated by: LCOV version 1.11