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 20924-e159ed0) Lines: 1948 2016 96.6 %
Date: 2017-08-21 06:23:16 Functions: 141 146 96.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Pi2n 4510708
PiI2 6132
PiI2n 9162
Qp_exp 21171
Qp_exp_prec 20233
Qp_exp_safe 21633
Qp_log 24808
Qp_sqrt 1736
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 173095
Z2_sqrt 1477
Zn_sqrt 350
Zp_teichmuller 1316
_mul 16144135
_muli 3089476
_mulr 1289133
_one 52671
_oner 24011
_rpowuu_msqr 181591
_rpowuu_sqr 473837
_sqr 39902367
_sqri 4619788
_sqrr 7174412
abpq_init 6891
abpq_sum 339375
agm 8864
agm1 9158
agm1cx 15258
agm1r_abs 268604
agmcx_a_b 15300
agmcx_gap 221286
agmcx_init 15300
agmr_gap 3673083
atanhQ_split 4684
bug_logp 7
catalan 14
constcatalan 14
consteuler 20240
constlog2 9411979
constpi 10884486
cos_p 49
cubic_prec_mask 209680
cxexp 1240593
cxexpm1 5001
exp1r_abs 6824215
expIr 103030
expm1_Ir 4910
gcos 93346
gcotan 154
gexp 5110518
gexpm1 10538
glog 2540606
gpow 13132181
gpow0 126
gpowers 52678
gpowers0 25245
gpowg0 3332346
gpowgs 95628383
grootsof1 88206
grootsof1_4 74580
gsin 134983
gsinc 107506
gsincos 1245255
gsqrpowers 22872
gsqrt 7684511
gsqrtn 3088
gtan 105
log2_split 2342
logagmcx 10092
logagmr_abs 295408
logr_abs 3038889
modlog2 6763748
mpaut 2821977
mpcatalan 14
mpcos 2683559
mpcosm1 4255803
mpcotan 35
mpeuler 20240
mpexp 6960621
mpexp0 197564
mpexp_basecase 6763057
mpexpm1 8956
mplog 106529
mplog2 9411979
mppi 10883795
mpsin 131378
mpsinc 107436
mpsincos 1458983
mpsincosm1 4910
mptan 35
mulii3 583123
mulii4 173095
palogaux 24801
pari_close_floats 33702
pari_init_floats 33694
pi_ramanujan 2193
pow_monome 464154
pow_polmod 26690
powersr 24011
powgi 83315147
powis 22116517
powiu 35769599
powiu_sign 35876272
powp 161
powps 41188
powr0 2919
powrfrac 504
powrs 5352354
powrshalf 0
powru 624209
powruhalf 22471
powuu 24030543
rootsof1_cx 3528
rootsof1pow 0
rootsof1powinit 0
rootsof1q_cx 0
rootsof1u_cx 168063
rpowuu 127027
scalarpol_get_1 116767
ser_agm1 14
ser_cmp_expo 56
ser_pow 203
ser_pow_1 203
ser_powfrac 224
serchop0 17773
serexp 32676
shiftc_inplace 12141
sin_p 63
sqrt_ser 1638
sqrtnint 10803
sqrtnof1 74642
sqrtnr_abs 284880
swap_clone 4924
teich 0
teichmuller 238
teichmullerinit 1197
tofp_safe 12369
trans_eval 457580
transvec 63226
upowuu 25321894
usqrtn 429
usqru 5094766
val_from_i 217
zellagmcx 42

Generated by: LCOV version 1.11