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.8.0 lcov report (development 19214-1621e44) Lines: 1826 1883 97.0 %
Date: 2016-07-26 07:10:39 Functions: 135 138 97.8 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Pi2n 4263703
PiI2 4354
PiI2n 7082
Qp_exp 20828
Qp_exp_prec 19890
Qp_exp_safe 21290
Qp_log 7931
Qp_sqrt 1463
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 263609
Z2_sqrt 805
Zn_sqrt 350
Zp_teichmuller 1316
_mul 14393668
_muli 2822830
_mulr 932007
_one 56847
_oner 22268
_rpowuu_msqr 103793
_rpowuu_sqr 307064
_sqr 35820752
_sqri 4133292
_sqrr 6732543
abpq_init 6896
abpq_sum 520394
agm 2361
agm1 2473
agm1cx 4075
agm1r_abs 286321
agmcx_a_b 4089
agmcx_gap 62567
agmcx_init 4089
agmr_gap 4023065
atanhQ_split 4484
bug_logp 7
catalan 14
cbrtr_abs 11908
constcatalan 14
consteuler 49054
constlog2 8981486
constpi 10530388
cos_p 49
cxexp 1086766
cxexpm1 4980
exp1r_abs 6902524
expIr 33729
expm1_Ir 4889
gcos 215126
gcotan 126
gexp 5336134
gexpm1 9999
glog 2545756
gpow 12736223
gpow0 126
gpowers 56854
gpowers0 21108
gpowg0 2928516
gpowgs 45071288
grootsof1 61238
grootsof1_4 55323
gsin 274526
gsinc 107359
gsincos 1192089
gsqrpowers 19029
gsqrt 6312647
gsqrtn 2699
gtan 77
log2_split 2242
logagmcx 2927
logagmr_abs 303677
logr_abs 2375854
modlog2 6842642
mpaut 2820472
mpcatalan 14
mpcos 2805360
mpcosm1 4389799
mpcotan 21
mpeuler 49054
mpexp 7069740
mpexp0 228023
mpexp_basecase 6841717
mpexpm1 8655
mplog 239775
mplog2 8981486
mppi 10529463
mpsin 271425
mpsinc 107303
mpsincos 1336453
mpsincosm1 4889
mptan 21
mulii3 891456
mulii4 263609
palogaux 7924
pari_close_floats 201611
pari_init_floats 201900
pi_ramanujan 2398
pow_monome 333109
pow_polmod 12125
powersr 22268
powgi 33039810
powis 15313143
powiu 28232639
powiu_sign 28557855
powp 161
powps 1946
powr0 1652
powrfrac 504
powrs 5444929
powrshalf 0
powru 168440
powruhalf 15043
powuu 10524686
rootsof1complex 7
rootsof1padic 0
rpowuu 100036
scalarpol_get_1 115920
ser_pow 189
ser_pow_1 189
ser_powfrac 210
serchop0 15302
serexp 27482
sin_p 63
sqrt_ser 1134
sqrtnint 27004
swap_clone 5114
teich 0
teichmuller 238
teichmullerinit 1197
tofp_safe 11683
trans_eval 595629
transvec 35291
upowuu 16107011
usqrtn 429
usqru 2894513
val_from_i 203
zellagmcx 14

Generated by: LCOV version 1.11