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 18616-fe48336) Lines: 1833 1884 97.3 %
Date: 2016-02-14 Functions: 136 139 97.8 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1151 1318 87.3 %

Function Name Sort by function name Hit count Sort by hit count
Pi2n 10517089
PiI2 4354
PiI2n 7026
Qp_exp 20765
Qp_exp_prec 19827
Qp_exp_safe 21227
Qp_log 7812
Qp_sqrt 1358
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 263147
Up_sqrt 2296
Zn_sqrt 350
Zp_teichmuller 126
_mul 3909781
_muli 2839545
_mulr 3373685
_one 50778
_oner 15968
_rpowuu_msqr 103648
_rpowuu_sqr 371679
_sqr 9777829
_sqri 4150169
_sqrr 10473769
abpq_init 7841
abpq_sum 518523
agm 1843
agm1 1955
agm1cx 4075
agm1r_abs 288775
agmcx_a_b 4089
agmcx_gap 62567
agmcx_init 4089
agmr_gap 4059982
atanhQ_split 4442
bug_logp 7
catalan 14
cbrtr_abs 11710
constcatalan 14
consteuler 48746
constlog2 8586555
constpi 15215719
cos_p 49
cxexp 1078588
cxexpm1 3890
exp1r_abs 6511681
expIr 32856
expm1_Ir 3827
gcos 215126
gcotan 147
gexp 4985416
gexpm1 8531
glog 2520733
gpow 12165654
gpow0 126
gpowers 50785
gpowers0 22579
gpowg0 1224093
gpowgs 31872209
grootsof1 60207
grootsof1_4 54529
gsin 7147112
gsinc 107359
gsincos 1182413
gsqrpowers 19947
gsqrt 5415393
gsqrtn 2792
gtan 77
log2_split 2221
logagmcx 2927
logagmr_abs 306648
logr_abs 2369056
modlog2 6453085
mpaut 6149366
mpcatalan 14
mpcos 2805360
mpcosm1 11238657
mpcotan 21
mpeuler 48746
mpexp 6678734
mpexp0 226574
mpexp_basecase 6452160
mpexpm1 7369
mplog 239650
mplog2 8586555
mppi 15214794
mpsin 7144018
mpsinc 107303
mpsincos 1325869
mpsincosm1 3827
mptan 21
mulii3 887650
mulii4 263147
palogaux 7805
pari_close_floats 1822
pari_init_floats 5731
pi_ramanujan 3385
pow_monome 297281
pow_polmod 12111
powersr 15968
powgi 17011217
powis 14203531
powiu 20579976
powiu_sign 20917445
powp 161
powps 1533
powr0 1680
powrfrac 504
powrs 9245798
powrshalf 0
powru 165802
powruhalf 14308
powuu 8907364
rootsof1complex 7
rootsof1padic 0
rpowuu 164518
scalarpol_get_1 115668
ser_pow 189
ser_pow_1 189
ser_powfrac 210
serchop0 18249
serexp 22792
sin_p 63
sqrt_2adic 581
sqrt_ser 1085
sqrtnint 26563
swap_clone 6101
teich 0
teichmuller 238
teichmullerinit 7
tofp_safe 11683
trans_eval 1285797
transvec 35130
upowuu 10572221
usqrtn 429
usqru 2043605
val_from_i 203
zellagmcx 14

Generated by: LCOV version 1.9