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 17842-03c132c) Lines: 1734 1784 97.2 %
Date: 2015-05-24 Functions: 129 131 98.5 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1082 1244 87.0 %

Function Name Sort by function name Hit count Sort by hit count
Pi2n 10247334
PiI2 4354
PiI2n 6928
Qp_exp 10565
Qp_exp_prec 10215
Qp_exp_safe 11027
Qp_log 1064
Qp_sqrt 1358
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 255142
Up_sqrt 2296
Zn_sqrt 350
Zp_teichmuller 7
_mul 1397266
_muli 2955347
_mulr 3188996
_one 2329
_oner 15576
_rpowuu_msqr 94138
_rpowuu_sqr 348594
_sqr 3795868
_sqri 4321222
_sqrr 9604280
abpq_init 7442
abpq_sum 502914
agm 1731
agm1 1843
agm1cx 3799
agm1r_abs 281683
agmcx_a_b 3813
agmcx_gap 58079
agmcx_init 3813
agmr_gap 3957247
atanhQ_split 4192
catalan 7
cbrtr_abs 11355
constcatalan 7
consteuler 39653
constlog2 6578574
constpi 12373606
cos_p 49
cxexp 976566
cxexpm1 63
exp1r_abs 4695656
expIr 109468
expm1_Ir 56
gcos 215168
gcotan 126
gexp 2913987
gexpm1 112
glog 2040913
gpow 8508551
gpowers 2329
gpowg0 146660
gpowgs 24385246
gsin 7338765
gsinc 244573
gsincos 980262
gsqrt 3092254
gsqrtn 2562
gtan 77
log2_split 2096
logagmcx 2651
logagmr_abs 299497
logr_abs 2095244
modlog2 4644261
mpaut 6351916
mpcatalan 7
mpcos 2805360
mpcosm1 11441187
mpcotan 21
mpeuler 39653
mpexp 4830038
mpexp0 186702
mpexp_basecase 4643336
mpexpm1 161
mplog 206734
mplog2 6578574
mppi 12372681
mpsin 7338429
mpsinc 244517
mpsincos 1337586
mpsincosm1 56
mptan 21
mulii3 861009
mulii4 255142
palogaux 1057
pari_close_floats 1780
pari_init_floats 3116
pi_ramanujan 3243
pow_monome 107324
pow_polmod 10431
powersr 15576
powgi 9866568
powis 12637248
powiu 16615913
powiu_sign 16975959
powp 161
powps 1358
powr0 1603
powrfrac 539
powrs 8739047
powrshalf 0
powru 155278
powruhalf 13391
powuu 5878947
rootsof1complex 7
rootsof1padic 0
rpowuu 160065
scalarpol_get_1 106519
ser_pow 189
ser_pow_1 189
ser_powfrac 210
serchop0 3724
serexp 20853
sin_p 63
sqrt_2adic 581
sqrt_ser 1085
sqrtnint 25832
swap_clone 5769
teich 7
tofp_safe 11452
trans_eval 662772
transvec 32458
upowuu 8221898
usqrtn 429
usqru 1679696
val_from_i 203
zellagmcx 14

Generated by: LCOV version 1.9