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 21342-bb34613) Lines: 1971 2020 97.6 %
Date: 2017-11-18 06:21:14 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
ser_pow 336
ser_pow_1 336
Zn_sqrt 350
val_from_i 350
ser_powfrac 357
usqrtn 429
powrfrac 504
Qp_sqrtn_unram 616
Qp_sqrtn_ram 854
Qp_sqrtn 1183
teichmullerinit 1197
Zp_teichmuller 1316
Z2_sqrt 1477
Qp_sqrt 1736
pi_ramanujan 2250
sqrt_ser 2317
log2_split 2367
powr0 2919
gsqrtn 3508
rootsof1_cx 3528
atanhQ_split 4734
expm1_Ir 4910
mpsincosm1 4910
swap_clone 4999
cxexpm1 5001
PiI2 5173
abpq_init 6998
PiI2n 8203
agm 8864
mpexpm1 8970
agm1 9158
logagmcx 10401
gexpm1 10552
sqrtnint 10803
tofp_safe 12369
agm1cx 15567
agmcx_a_b 15609
agmcx_init 15609
serchop0 17367
consteuler 20202
mpeuler 20202
Qp_exp_prec 20234
rootsof1q_cx 20664
Qp_exp 21172
powruhalf 21610
Qp_exp_safe 21634
gsqrpowers 22914
rootsof1powinit 23912
_oner 24011
powersr 24011
palogaux 24864
Qp_log 24871
gpowers0 25357
pow_polmod 28496
serexp 31682
powps 41099
shiftc_inplace 47686
_one 52615
gpowers 52622
transvec 62708
grootsof1_4 81580
pari_init_floats 92196
pari_close_floats 92605
sqrtnof1 93241
gcos 93346
mplog 106557
mpsinc 107436
gsinc 107506
scalarpol_get_1 116683
expIr 121643
mpsin 126884
rpowuu 128532
gsin 130496
grootsof1 134050
T2 170990
mulii4 170990
_rpowuu_msqr 184398
mpexp0 198321
agmcx_gap 226336
cubic_prec_mask 231196
rootsof1u_cx 238533
logagmr_abs 248317
agm1r_abs 251966
sqrtnr_abs 283659
abpq_sum 335062
trans_eval 454985
_rpowuu_sqr 480984
pow_monome 505083
mulii3 575913
powru 602742
cxexp 1263051
gsincos 1267720
_mulr 1272306
mpsincos 1500054
glog 2524722
mpcos 2683559
mpaut 2858554
logr_abs 3024087
_muli 3098322
gpowg0 3355656
agmr_gap 3447894
mpcosm1 4292380
Pi2n 4540680
_sqri 4639965
usqru 5179693
gexp 5209940
powrs 5386244
mpexp_basecase 6828017
modlog2 6828708
exp1r_abs 6889189
mpexp 7026338
_sqrr 7192527
gsqrt 7817219
constlog2 9460514
mplog2 9460514
mppi 10990443
constpi 10991134
rootsof1pow 11864398
gpow 13204829
_mul 16204507
powis 22341833
powuu 27230435
upowuu 27646781
powiu 36017967
powiu_sign 36134954
_sqr 40036710
powgi 83845323
gpowgs 96261249

Generated by: LCOV version 1.11