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 20277-2bd9113) Lines: 1938 1988 97.5 %
Date: 2017-02-21 05:49:51 Functions: 141 143 98.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Pi2n 4354218
PiI2 4354
PiI2n 6166
Qp_exp 20878
Qp_exp_prec 19940
Qp_exp_safe 21340
Qp_log 23352
Qp_sqrt 1736
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 168302
Z2_sqrt 1477
Zn_sqrt 350
Zp_teichmuller 1316
_mul 14202501
_muli 3069988
_mulr 1290786
_one 45846
_oner 24011
_rpowuu_msqr 178236
_rpowuu_sqr 465821
_sqr 35247924
_sqri 4586109
_sqrr 7108027
abpq_init 6505
abpq_sum 330171
agm 2564
agm1 2676
agm1cx 11253
agm1r_abs 266621
agmcx_a_b 11267
agmcx_gap 193742
agmcx_init 11267
agmr_gap 3664038
atanhQ_split 4434
bug_logp 7
catalan 14
constcatalan 14
consteuler 19792
constlog2 9355437
constpi 10506246
cos_p 49
cubic_prec_mask 207695
cxexp 1178228
cxexpm1 5001
exp1r_abs 6873900
expIr 89867
expm1_Ir 4910
gcos 215266
gcotan 154
gexp 5128636
gexpm1 10524
glog 2332009
gpow 12826924
gpow0 126
gpowers 45853
gpowers0 21444
gpowg0 2846472
gpowgs 45636696
grootsof1 62656
grootsof1_4 56479
gsin 285310
gsinc 107506
gsincos 1182792
gsqrpowers 19085
gsqrt 6879153
gsqrtn 2696
gtan 105
log2_split 2217
logagmcx 10077
logagmr_abs 295683
logr_abs 2951863
modlog2 6813433
mpaut 2880791
mpcatalan 14
mpcos 2805479
mpcosm1 4449489
mpcotan 35
mpeuler 19792
mpexp 7048247
mpexp0 235505
mpexp_basecase 6812742
mpexpm1 8942
mplog 180881
mplog2 9355437
mppi 10505555
mpsin 281551
mpsinc 107436
mpsincos 1383448
mpsincosm1 4910
mptan 35
mulii3 567479
mulii4 168302
palogaux 23345
pari_close_floats 64442
pari_init_floats 64111
pi_ramanujan 2057
pow_monome 559039
pow_polmod 40193
powersr 24011
powgi 33199301
powis 15596983
powiu 28066242
powiu_sign 28259040
powp 161
powps 40971
powr0 1701
powrfrac 504
powrs 5389104
powrshalf 0
powru 544932
powruhalf 18915
powuu 10098429
rootsof1_cx 3500
rootsof1u_cx 124995
rpowuu 125519
scalarpol_get_1 115619
ser_agm1 14
ser_cmp_expo 56
ser_pow 196
ser_pow_1 196
ser_powfrac 217
serchop0 16646
serexp 30240
shiftc_inplace 10990
sin_p 63
sqrt_ser 1421
sqrtnint 978
sqrtnof1 61507
sqrtnr_abs 290872
swap_clone 4642
teich 0
teichmuller 238
teichmullerinit 1197
tofp_safe 12362
trans_eval 430154
transvec 41739
upowuu 18256205
usqrtn 429
usqru 2716993
val_from_i 210
zellagmcx 14

Generated by: LCOV version 1.11