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 21703-2e13792) Lines: 1972 2021 97.6 %
Date: 2018-01-17 06:18:31 Functions: 144 146 98.6 %
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
mpcatalan 14
ser_agm1 14
mpcotan 35
mptan 35
zellagmcx 42
cos_p 49
ser_cmp_expo 49
sin_p 63
gtan 105
gpow0 126
gcotan 154
powp 161
teichmuller 238
Zn_sqrt 350
usqrtn 429
powrfrac 504
Qp_sqrtn_unram 616
Qp_sqrtn_ram 854
Qp_sqrtn 1183
teichmullerinit 1225
Zp_teichmuller 1344
Z2_sqrt 1477
Qp_sqrt 1750
pi_ramanujan 2250
log2_split 2439
powr0 2926
gsqrtn 3507
rootsof1_cx 3528
PiI2 4354
atanhQ_split 4878
expm1_Ir 4910
mpsincosm1 4910
cxexpm1 5001
swap_clone 5078
abpq_init 7142
ser_pow 7707
ser_pow_1 7707
val_from_i 7721
ser_powfrac 7728
PiI2n 8175
agm 8892
mpexpm1 8977
agm1 9186
logagmcx 10401
gexpm1 10573
sqrtnint 10798
rootsof1powinit 11298
tofp_safe 12369
rootsof1q_cx 14448
_oner 14498
powersr 14498
agm1cx 15567
agmcx_a_b 15609
agmcx_init 15609
sqrt_ser 17024
Qp_exp_prec 19936
consteuler 20223
mpeuler 20223
Qp_exp 20874
serchop0 20993
Qp_exp_safe 21336
powruhalf 21631
gsqrpowers 24445
palogaux 24815
Qp_log 24822
shiftc_inplace 25148
gpowers0 26902
pow_polmod 28440
powps 40931
serexp 53375
_one 54652
gpowers 54659
transvec 62764
grootsof1_4 78722
sqrtnof1 82748
pari_init_floats 87974
pari_close_floats 88487
gcos 93353
mplog 106557
mpsinc 107436
gsinc 107506
grootsof1 110730
expIr 111164
scalarpol_get_1 116788
mpsin 126891
rpowuu 129533
gsin 130524
T2 172368
mulii4 172368
_rpowuu_msqr 186357
mpexp0 200047
rootsof1u_cx 207658
agmcx_gap 226336
cubic_prec_mask 237101
logagmr_abs 248416
agm1r_abs 252093
sqrtnr_abs 300894
abpq_sum 337674
trans_eval 454392
_rpowuu_sqr 485889
pow_monome 502857
mulii3 580460
powru 634291
cxexp 1263023
gsincos 1267727
_mulr 1292279
mpsincos 1489547
glog 2527291
rootsof1pow 2668155
mpcos 2683559
mpaut 2848054
_muli 3093137
logr_abs 3136530
gpowg0 3448644
agmr_gap 3449363
mpcosm1 4281880
Pi2n 4541406
_sqri 4634896
usqru 5215162
gexp 5384305
powrs 5566876
mpexp_basecase 7021141
modlog2 7021832
exp1r_abs 7082320
mpexp 7221188
_sqrr 7392467
gsqrt 8061773
constlog2 9738563
mplog2 9738563
mppi 11207331
constpi 11208022
gpow 13390315
_mul 16770092
powis 22390307
powuu 22666838
upowuu 24340743
powiu 36373067
powiu_sign 36504856
_sqr 41479349
powgi 111420292
gpowgs 123887198

Generated by: LCOV version 1.11