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 21501-1931cb9) Lines: 1971 2020 97.6 %
Date: 2017-12-16 06:20:36 Functions: 144 146 98.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Pi2n 4557922
PiI2 5180
PiI2n 8210
Qp_exp 20873
Qp_exp_prec 19935
Qp_exp_safe 21335
Qp_log 24822
Qp_sqrt 1750
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 171502
Z2_sqrt 1477
Zn_sqrt 350
Zp_teichmuller 1344
_mul 16810187
_muli 3100821
_mulr 1291912
_one 55072
_oner 14498
_rpowuu_msqr 184797
_rpowuu_sqr 482013
_sqr 41543297
_sqri 4645367
_sqrr 7391429
abpq_init 7056
abpq_sum 336028
agm 8892
agm1 9186
agm1cx 15567
agm1r_abs 252093
agmcx_a_b 15609
agmcx_gap 226336
agmcx_init 15609
agmr_gap 3449363
atanhQ_split 4792
bug_logp 7
catalan 14
constcatalan 14
consteuler 20223
constlog2 9646558
constpi 11224503
cos_p 49
cubic_prec_mask 248426
cxexp 1263107
cxexpm1 5001
exp1r_abs 7079403
expIr 122014
expm1_Ir 4910
gcos 93353
gcotan 154
gexp 5385355
gexpm1 10573
glog 2527522
gpow 13391102
gpow0 126
gpowers 55079
gpowers0 26902
gpowg0 3454559
gpowgs 97399787
grootsof1 134699
grootsof1_4 81788
gsin 130524
gsinc 107506
gsincos 1267811
gsqrpowers 24445
gsqrt 8061471
gsqrtn 3494
gtan 105
log2_split 2396
logagmcx 10401
logagmr_abs 248416
logr_abs 3043998
modlog2 7018915
mpaut 2858981
mpcatalan 14
mpcos 2683559
mpcosm1 4292807
mpcotan 35
mpeuler 20223
mpexp 7219096
mpexp0 200872
mpexp_basecase 7018224
mpexpm1 8977
mplog 106557
mplog2 9646558
mppi 11223812
mpsin 126884
mpsinc 107436
mpsincos 1500481
mpsincosm1 4910
mptan 35
mulii3 577603
mulii4 171502
palogaux 24815
pari_close_floats 92507
pari_init_floats 92087
pi_ramanujan 2250
pow_monome 505272
pow_polmod 28496
powersr 14498
powgi 84899672
powis 22392505
powiu 36394803
powiu_sign 36510680
powp 161
powps 40931
powr0 2926
powrfrac 504
powrs 5566624
powrshalf 0
powru 633975
powruhalf 21610
powuu 28729576
rootsof1_cx 3528
rootsof1pow 11867989
rootsof1powinit 24101
rootsof1q_cx 20790
rootsof1u_cx 239880
rpowuu 128749
scalarpol_get_1 116683
ser_agm1 14
ser_cmp_expo 49
ser_pow 7700
ser_pow_1 7700
ser_powfrac 7721
serchop0 20993
serexp 53375
shiftc_inplace 47990
sin_p 63
sqrt_ser 17017
sqrtnint 10803
sqrtnof1 93598
sqrtnr_abs 300819
swap_clone 5035
teich 0
teichmuller 238
teichmullerinit 1225
tofp_safe 12369
trans_eval 455315
transvec 62708
upowuu 27898330
usqrtn 429
usqru 5218326
val_from_i 7714
zellagmcx 42

Generated by: LCOV version 1.11