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.11.0 lcov report (development 22851-e834f1b2f) Lines: 2032 2094 97.0 %
Date: 2018-07-16 05:36:59 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
mpcotan 35
mptan 35
mplog1p 42
serchop 42
serchop_i 42
zellagmcx 42
cos_p 49
ser_cmp_expo 49
sin_p 63
glog1p 77
log1p_i 91
gtan 105
gpow0 126
gcotan 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
Z2_sqrt 1477
Qp_sqrt 1764
pi_ramanujan 2371
log2_split 2548
powr0 2975
gsqrtn 3653
rootsof1_cx 3780
PiI2 4361
expm1_Ir 4910
mpsincosm1 4910
cxexpm1 5001
atanhQ_split 5096
swap_clone 5323
abpq_init 7481
ser_pow_1 7756
val_from_i 7770
ser_powfrac 7777
ser_pow 7875
PiI2n 8232
logagmcx 8757
mpexpm1 8984
agm 9270
agm1 9571
gexpm1 10573
tofp_safe 12369
rootsof1powinit 12530
agm1cx 13972
agmcx_a_b 14014
agmcx_init 14014
_oner 14505
powersr 14505
rootsof1q_cx 16338
sqrt_ser 17045
Qp_exp_prec 20145
Qp_exp 21111
Qp_exp_safe 21573
consteuler 22645
mpeuler 22645
powruhalf 23500
sqrtnint 23927
palogaux 24885
Qp_log 24892
gsqrpowers 25348
serchop0 28553
shiftc_inplace 28852
pow_polmod 29714
powps 41307
transvec 73718
serexp 75376
grootsof1_4 93247
sqrtnof1 93264
mplog 107159
mpsinc 107436
gsinc 107534
_one 110358
gpowers 110365
pari_close_floats 111583
gcos 111742
pari_init_floats 112469
expIr 121708
grootsof1 128092
mpsin 135312
gsin 138945
gpowers0 163612
rpowuu 166750
scalarpol_get_1 176073
_rpowuu_msqr 181821
agmcx_gap 197963
mpexp0 201764
T2 203584
mulii4 203584
rootsof1u_cx 227683
cubic_prec_mask 254169
logagmr_abs 270175
agm1r_abs 274181
sqrtnr_abs 373797
abpq_sum 399773
_rpowuu_sqr 512401
pow_monome 565659
trans_eval 608320
mulii3 686756
powru 701761
cxexp 1307260
gsincos 1311978
_mulr 1491295
mpsincos 1544328
glog 2610916
mpcos 2701948
logr_aux 2808039
mpaut 2927857
_muli 3026190
logr_abs 3253792
gpowg0 3662737
agmr_gap 3873661
mpcosm1 4383117
_sqri 4502802
Pi2n 4910176
usqru 5279302
powrs 6893229
gexp 8197575
_sqrr 9453214
mpexp_basecase 9863963
modlog2 9864654
exp1r_abs 9925149
rootsof1pow 9946804
mpexp 10065727
gsqrt 11932155
constlog2 12635498
mplog2 12635498
mppi 14195895
constpi 14196586
gpow 16165476
_mul 17315198
powis 22574905
powuu 24861502
upowuu 24966961
powiu 36798664
powiu_sign 36927569
_sqr 42503973
powgi 114488946
gpowgs 127683208

Generated by: LCOV version 1.13