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 to exceed 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.16.1 lcov report (development 28880-3b5364847c) Lines: 2239 2311 96.9 %
Date: 2023-12-01 07:53:15 Functions: 166 167 99.4 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
powrshalf 0
catalan 14
constcatalan 14
cxlog1p 14
magm 14
mpcatalan 14
ellE 21
ser_agm1 21
ellK 28
ellK_i 35
real_I 35
serchop 42
serchop_i 42
cos_p 49
is_ext_qfr 49
ser_cmp_expo 49
zellagmcx 49
mplog1p 63
sin_p 63
mpcotan 70
magm_gap 84
Qp_exp_prec 98
glog1p 119
gpow0 126
log1p_i 133
mptan 133
powp 161
gtan 217
transvecgen 329
Zn_sqrt 420
powrfrac 511
Qp_sqrtn_ram 854
teichmullerinit 1225
trans_evalgen 1883
Qp_sqrt 1897
Qp_sqrtn_unram 2037
Qp_sqrtn 2604
tan_huge_im 4018
gcotan 4207
teich 4739
rootsof1_cx 4788
teichmuller 4977
expm1_Ir 5890
mpsincosm1 5890
cxexpm1 5946
usqrtn 7659
ser_pow_1 7854
pow2Pis 7868
val_from_i 7868
ser_powfrac 7875
ser_pow 7959
Zp_teichmuller 9933
powPis 10227
mpexpm1 10800
upowers 12017
gexpm1 12609
gsqrtn 12763
tofp_safe 13260
_oner 13790
powersr 13790
rootsof1q_cx 14154
rootsof1powinit 14987
agm 17483
agm1 17637
sqrt_ser 18669
powr0 21049
sqrtnint 23626
pow_polmod 23753
serchop0 36645
gsqrpowers 37170
pi_ramanujan 38426
log2_split 39209
shiftc_inplace 55872
consteuler 58083
mpeuler 58083
mpexp0 72333
swap_clone 78179
serexp 80108
Qp_exp 108289
Qp_exp_safe 108751
powruhalf 117955
Z2_sqrt 144690
mplog 146596
gcos 154849
powcx_prec 182141
Qp_log 196485
gpowers0 199889
PiI2 261346
PiI2n 262235
powcx 266668
abpq_init 274449
logagmcx 279228
agm1cx 284807
agmcx_a_b 284856
agmcx_init 284856
Z_to_padic 303702
_one 331929
gpowers 331936
pari_close_floats 345244
pari_init_floats 347592
scalarpol_get_1 370292
rpowuu 428399
sqrtnof1 524060
grootsof1_4 576059
_rpowuu_msqr 623865
pow_monome 624671
grootsof1 714123
expIr 761843
mpsin 849542
gsin 882474
rootsof1u_cx 1267333
logagmr_abs 1304556
powps 1305486
agm1r_abs 1316438
expQ 1468522
_rpowuu_sqr 1594961
gpowg0 1610954
cubic_prec_mask 1664388
transvec 2012032
mpsinc 2428754
gsinc 2428866
sqrtnr_abs 2495276
mpcos 2745068
cxexp 3275756
gsincos 3285273
_mul 3546123
trans_eval 3732450
T2 4303114
agmcx_gap 4771346
powru 4880640
powrs 5052071
powfrac 5130836
_sqr 5896115
_mulr 6412056
mpsincos 6760736
abpq_sum 8375788
mpaut 8651425
mpcosm1 10357425
logr_aux 10611166
logr_abs 12383825
rootsof1pow 12516441
gexp 14776519
_sqrr 15328684
mpexp_basecase 15646339
exp1r_abs 15708622
mpexp 15718626
modlog2 15735749
glog 16021686
agmr_gap 18832947
usqru 18882165
mulii3 20143969
gpow 20295495
powis 20899492
Pi2n 21704227
constlog2 24704019
mplog2 24704039
_muli 30267934
mppi 34851812
constpi 34851868
powuu 46324937
gsqrt 49871552
_sqri 82285269
powiu_sign 96267096
powiu 96443876
powgi 98308888
upowuu 99848451
gpowgs 109728297

Generated by: LCOV version 1.14