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 17931-6d987be) Lines: 1754 1801 97.4 %
Date: 2015-07-29 Functions: 130 132 98.5 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1100 1256 87.6 %

Function Name Sort by function name Hit count Sort by hit count
Pi2n 10251347
PiI2 4354
PiI2n 6928
Qp_exp 20765
Qp_exp_prec 19827
Qp_exp_safe 21227
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 1397255
_muli 2956625
_mulr 3190333
_one 2329
_oner 15576
_rpowuu_msqr 94432
_rpowuu_sqr 349350
_sqr 3795851
_sqri 4322759
_sqrr 9611056
abpq_init 7442
abpq_sum 502914
agm 1731
agm1 1843
agm1cx 3799
agm1r_abs 284317
agmcx_a_b 3813
agmcx_gap 58079
agmcx_init 3813
agmr_gap 3999205
atanhQ_split 4192
catalan 7
cbrtr_abs 11355
constcatalan 7
consteuler 39611
constlog2 6589907
constpi 12377633
cos_p 49
cxexp 976601
cxexpm1 98
exp1r_abs 4703566
expIr 110756
expm1_Ir 91
gcos 215168
gcotan 126
gexp 2921967
gexpm1 245
glog 2040969
gpow 8510149
gpow0 126
gpowers 2329
gpowg0 146681
gpowgs 24393182
gsin 7338765
gsinc 244573
gsincos 980304
gsqrt 3093017
gsqrtn 2562
gtan 77
log2_split 2096
logagmcx 2651
logagmr_abs 302188
logr_abs 2098779
modlog2 4652143
mpaut 6353281
mpcatalan 7
mpcos 2805360
mpcosm1 11442552
mpcotan 21
mpeuler 39611
mpexp 4837990
mpexp0 186772
mpexp_basecase 4651218
mpexpm1 189
mplog 206867
mplog2 6589907
mppi 12376708
mpsin 7338429
mpsinc 244517
mpsincos 1338916
mpsincosm1 91
mptan 21
mulii3 861009
mulii4 255142
palogaux 1057
pari_close_floats 1780
pari_init_floats 3289
pi_ramanujan 3243
pow_monome 107387
pow_polmod 10431
powersr 15576
powgi 9867995
powis 12643662
powiu 16758787
powiu_sign 17090892
powp 161
powps 1358
powr0 1603
powrfrac 539
powrs 8740069
powrshalf 0
powru 156664
powruhalf 13391
powuu 6132318
rootsof1complex 7
rootsof1padic 0
rpowuu 160219
scalarpol_get_1 106540
ser_pow 189
ser_pow_1 189
ser_powfrac 210
serchop0 3738
serexp 20867
sin_p 63
sqrt_2adic 581
sqrt_ser 1085
sqrtnint 25832
swap_clone 5769
teich 7
tofp_safe 11459
trans_eval 662842
transvec 32493
upowuu 8457834
usqrtn 429
usqru 1691785
val_from_i 203
zellagmcx 14

Generated by: LCOV version 1.9