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 to exceed 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.12.0 lcov report (development 23171-a5c0ed393) Lines: 2034 2096 97.0 %
Date: 2018-10-20 05:38:07 Functions: 151 153 98.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
powrshalf 0
teich 0
bug_logp 7
catalan 14
constcatalan 14
cxlog1p 14
mpcatalan 14
ser_agm1 14
mptan 35
mplog1p 42
serchop 42
serchop_i 42
zellagmcx 42
cos_p 49
ser_cmp_expo 49
mpcotan 63
sin_p 63
glog1p 77
log1p_i 91
gtan 105
gpow0 154
powp 161
teichmuller 238
Zn_sqrt 350
usqrtn 409
powrfrac 511
Qp_sqrtn_unram 616
Qp_sqrtn_ram 854
Qp_sqrtn 1183
teichmullerinit 1225
Zp_teichmuller 1344
Qp_sqrt 1764
pi_ramanujan 2126
log2_split 2588
powr0 2975
gsqrtn 3693
rootsof1_cx 3780
gcotan 4144
PiI2 4361
expm1_Ir 4910
mpsincosm1 4910
cxexpm1 5008
swap_clone 5132
atanhQ_split 5176
tofp_safe 6055
abpq_init 7316
ser_pow_1 7756
val_from_i 7770
ser_powfrac 7777
ser_pow 7875
PiI2n 8246
mpexpm1 8991
logagmcx 9322
agm 10474
gexpm1 10573
agm1 10775
rootsof1powinit 12593
_oner 14505
powersr 14505
agm1cx 14537
agmcx_a_b 14579
agmcx_init 14579
rootsof1q_cx 16548
sqrt_ser 17045
Qp_exp_prec 20144
Qp_exp 21110
Qp_exp_safe 21572
powruhalf 23689
sqrtnint 23927
palogaux 24885
Qp_log 24892
gsqrpowers 25348
serchop0 28574
pow_polmod 28755
shiftc_inplace 28869
consteuler 31371
mpeuler 31371
powps 41307
transvec 73718
serexp 75411
grootsof1_4 93385
sqrtnof1 93521
mplog 107173
mpsinc 107436
gsinc 107534
_one 110680
gpowers 110687
gcos 111742
pari_close_floats 112186
pari_init_floats 113632
expIr 121965
grootsof1 128376
mpsin 133597
rpowuu 155974
gpowers0 163612
gsin 164677
_rpowuu_msqr 165580
scalarpol_get_1 176122
T2 205585
mulii4 205585
agmcx_gap 207027
mpexp0 210140
rootsof1u_cx 228287
Z2_sqrt 288316
logagmr_abs 332767
cubic_prec_mask 335505
agm1r_abs 337977
abpq_sum 403942
_rpowuu_sqr 445263
sqrtnr_abs 457949
pow_monome 566016
trans_eval 631434
mulii3 694300
powru 858250
cxexp 1391629
gsincos 1416409
mpsincos 1645082
_mulr 1696639
mpcos 2701948
glog 2954874
mpaut 3022494
logr_aux 3107244
logr_abs 3642527
_muli 3651061
gpowg0 3699256
mpcosm1 4482156
agmr_gap 4750319
Pi2n 5029003
usqru 5181123
_sqri 5326181
powrs 7005657
gexp 8539185
_sqrr 9768925
rootsof1pow 10186659
mpexp_basecase 10313937
modlog2 10314628
exp1r_abs 10375130
mpexp 10524077
gsqrt 12307135
constlog2 13223427
mplog2 13223427
mppi 14404357
constpi 14405048
gpow 16854622
_mul 17339773
powis 22325649
powuu 25340673
upowuu 26906084
powiu 39396715
powiu_sign 39528126
_sqr 42572504
powgi 114960797
gpowgs 127916002

Generated by: LCOV version 1.13