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 20422-b487f4d) Lines: 1938 1988 97.5 %
Date: 2017-03-22 05:51:54 Functions: 141 143 98.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Pi2n 4305666
PiI2 4354
PiI2n 6173
Qp_exp 20872
Qp_exp_prec 19934
Qp_exp_safe 21334
Qp_log 23401
Qp_sqrt 1736
Qp_sqrtn 1183
Qp_sqrtn_ram 854
Qp_sqrtn_unram 616
T2 168436
Z2_sqrt 1477
Zn_sqrt 350
Zp_teichmuller 1316
_mul 14204754
_muli 3065438
_mulr 1290865
_one 45902
_oner 24011
_rpowuu_msqr 178488
_rpowuu_sqr 466514
_sqr 35234862
_sqri 4581621
_sqrr 7108664
abpq_init 6522
abpq_sum 330422
agm 2634
agm1 2746
agm1cx 11259
agm1r_abs 266526
agmcx_a_b 11273
agmcx_gap 193830
agmcx_init 11273
agmr_gap 3662245
atanhQ_split 4448
bug_logp 7
catalan 14
constcatalan 14
consteuler 19792
constlog2 9302587
constpi 10458102
cos_p 49
cubic_prec_mask 207682
cxexp 1174216
cxexpm1 5001
exp1r_abs 6866999
expIr 89961
expm1_Ir 4910
gcos 215266
gcotan 154
gexp 5076198
gexpm1 10524
glog 2286455
gpow 13182020
gpow0 126
gpowers 45909
gpowers0 21444
gpowg0 2970008
gpowgs 45712421
grootsof1 62883
grootsof1_4 56629
gsin 285324
gsinc 107506
gsincos 1178808
gsqrpowers 19085
gsqrt 6854045
gsqrtn 2710
gtan 105
log2_split 2224
logagmcx 10083
logagmr_abs 295518
logr_abs 2884348
modlog2 6806532
mpaut 2876814
mpcatalan 14
mpcos 2805479
mpcosm1 4445512
mpcotan 35
mpeuler 19792
mpexp 7000263
mpexp0 194422
mpexp_basecase 6805841
mpexpm1 8942
mplog 180916
mplog2 9302587
mppi 10457411
mpsin 281551
mpsinc 107436
mpsincos 1379537
mpsincosm1 4910
mptan 35
mulii3 567906
mulii4 168436
palogaux 23394
pari_close_floats 64711
pari_init_floats 64393
pi_ramanujan 2060
pow_monome 459576
pow_polmod 27551
powersr 24011
powgi 33541007
powis 15617622
powiu 28095682
powiu_sign 28274828
powp 161
powps 40971
powr0 1708
powrfrac 504
powrs 5389288
powrshalf 0
powru 545220
powruhalf 18579
powuu 10015732
rootsof1_cx 3500
rootsof1u_cx 125386
rpowuu 125666
scalarpol_get_1 115619
ser_agm1 14
ser_cmp_expo 56
ser_pow 196
ser_pow_1 196
ser_powfrac 217
serchop0 16653
serexp 30240
shiftc_inplace 10990
sin_p 63
sqrt_ser 1421
sqrtnint 978
sqrtnof1 61601
sqrtnr_abs 290971
swap_clone 4652
teich 0
teichmuller 238
teichmullerinit 1197
tofp_safe 12369
trans_eval 406443
transvec 41412
upowuu 18247125
usqrtn 429
usqru 2804843
val_from_i 210
zellagmcx 14

Generated by: LCOV version 1.11