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.10.0 lcov report (development 20459-9710128) Lines: 1911 1968 97.1 %
Date: 2017-04-28 05:33:48 Functions: 141 143 98.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Pi2n 3682561
PiI2 3732
PiI2n 5292
Qp_exp 17924
Qp_exp_prec 17120
Qp_exp_safe 18320
Qp_log 20058
Qp_sqrt 1488
Qp_sqrtn 1014
Qp_sqrtn_ram 732
Qp_sqrtn_unram 528
T2 146203
Z2_sqrt 1266
Zn_sqrt 300
Zp_teichmuller 1128
_mul 12106678
_muli 2580315
_mulr 1051740
_one 39402
_oner 20610
_rpowuu_msqr 154648
_rpowuu_sqr 403568
_sqr 30021536
_sqri 3815129
_sqrr 6017514
abpq_init 5509
abpq_sum 286897
agm 2436
agm1 2532
agm1cx 6267
agm1r_abs 266331
agmcx_a_b 6279
agmcx_gap 103041
agmcx_init 6279
agmr_gap 3659787
atanhQ_split 3750
bug_logp 6
catalan 12
constcatalan 12
consteuler 16980
constlog2 7971243
constpi 8946601
cos_p 42
cubic_prec_mask 175158
cxexp 1005180
cxexpm1 4290
exp1r_abs 5887020
expIr 77244
expm1_Ir 4212
gcos 79188
gcotan 132
gexp 4350894
gexpm1 9024
glog 1955409
gpow 11303924
gpow0 108
gpowers 39408
gpowers0 18456
gpowg0 2535078
gpowgs 39016516
grootsof1 54276
grootsof1_4 48852
gsin 96168
gsinc 92148
gsincos 1009116
gsqrpowers 16434
gsqrt 5745378
gsqrtn 2346
gtan 90
log2_split 1875
logagmcx 5187
logagmr_abs 294960
logr_abs 2471817
modlog2 5835144
mpaut 2339952
mpcatalan 12
mpcos 2299374
mpcosm1 3558234
mpcotan 30
mpeuler 16980
mpexp 6001074
mpexp0 166620
mpexp_basecase 5834454
mpexpm1 7668
mplog 155142
mplog2 7971243
mppi 8945911
mpsin 92934
mpsinc 92088
mpsincos 1181304
mpsincosm1 4212
mptan 30
mulii3 493810
mulii4 146203
palogaux 20052
pari_close_floats 63959
pari_init_floats 64043
pi_ramanujan 1747
pow_monome 393918
pow_polmod 23610
powersr 20610
powgi 28645852
powis 13378200
powiu 23984410
powiu_sign 24157594
powp 138
powps 35118
powr0 1464
powrfrac 432
powrs 4568886
powrshalf 0
powru 448062
powruhalf 15924
powuu 8649284
rootsof1_cx 3024
rootsof1u_cx 108192
rpowuu 108236
scalarpol_get_1 99102
ser_agm1 12
ser_cmp_expo 48
ser_pow 168
ser_pow_1 168
ser_powfrac 186
serchop0 14274
serexp 25920
shiftc_inplace 7374
sin_p 54
sqrt_ser 1218
sqrtnint 822
sqrtnof1 52932
sqrtnr_abs 249234
swap_clone 3928
teich 0
teichmuller 204
teichmullerinit 1026
tofp_safe 10602
trans_eval 348306
transvec 35568
upowuu 15640974
usqrtn 396
usqru 2426883
val_from_i 180
zellagmcx 12

Generated by: LCOV version 1.11