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-bordeaux1.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.8.0 lcov report (development 17234-4181bc5) Lines: 1687 1734 97.3 %
Date: 2014-12-18 Functions: 126 128 98.4 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1054 1208 87.3 %

Function Name Sort by function name Hit count Sort by hit count
Pi2n 3804458
PiI2 4354
PiI2n 6886
Qp_exp 10339
Qp_exp_prec 9975
Qp_exp_safe 10801
Qp_log 1064
Qp_sqrt 1358
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 134697
Up_sqrt 2296
Zn_sqrt 350
Zp_teichmuller 7
_mul 1473180
_muli 2603189
_mulr 562528
_one 280
_oner 16255
_rpowuu_msqr 103618
_rpowuu_sqr 322615
_sqr 3878554
_sqri 3948047
_sqrr 26359626
abpq_init 5443
abpq_sum 264015
agm 1703
agm1 1815
agm1cx 17580
agm1r_abs 195916
agmcx_a_b 17594
agmcx_gap 302105
agmcx_init 17594
agmr_gap 2695704
atanhQ_split 3746
catalan 7
constcatalan 7
consteuler 7056
constlog2 6379022
constpi 5610889
cos_p 49
cxexp 713014
cxexpm1 63
exp1r_abs 4770625
expIr 102650
expm1_Ir 56
gcos 168172
gcotan 105
gexp 2289213
gexpm1 112
glog 1681027
gpow 8220299
gpowers 280
gpowg0 127288
gpowgs 40294030
gsin 741660
gsincos 716612
gsqrt 3358333
gsqrtn 2261
gtan 77
log2_split 1873
logagmcx 16432
logagmr_abs 291421
logr_abs 1830813
modlog2 4685939
mpaut 2734874
mpcatalan 7
mpcos 2758364
mpcosm1 4303492
mpcotan 21
mpeuler 7056
mpexp 4716345
mpexp0 31085
mpexp_basecase 4685260
mpexpm1 161
mplog 245903
mplog2 6379022
mppi 5610210
mpsin 741345
mpsincos 828299
mpsincosm1 56
mptan 21
mulii3 454272
mulii4 134697
palogaux 1057
pari_close_floats 1231
pari_init_floats 1243
pi_ramanujan 1690
pow_monome 104132
pow_polmod 10557
powersr 16255
powgi 9666458
powis 11665936
powiu 15279452
powiu_sign 15746610
powp 161
powps 1358
powr0 1729
powrfrac 539
powrs 25578702
powrshalf 0
powru 144710
powruhalf 11886
powuu 4052922
rootsof1complex 7
rootsof1padic 0
rpowuu 110060
scalarpol_get_1 106057
ser_pow 161
ser_pow_1 161
ser_powfrac 182
serchop0 2170
serexp 19397
sin_p 49
sqrt_2adic 581
sqrt_ser 973
sqrtnint 1680
swap_clone 3815
teich 7
tofp_safe 2569
trans_eval 578543
transvec 33627
upowuu 7820951
usqrtn 429
usqru 1658972
val_from_i 175
zellagmcx 14

Generated by: LCOV version 1.9