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 28697-a4113027d0) Lines: 2234 2305 96.9 %
Date: 2023-09-28 07:47:45 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
ser_cmp_expo 49
zellagmcx 49
is_ext_qfr 63
mplog1p 63
sin_p 63
mpcotan 70
Qp_exp_prec 84
magm_gap 84
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 7847
val_from_i 7861
pow2Pis 7868
ser_powfrac 7868
ser_pow 7952
Zp_teichmuller 9933
powPis 10220
mpexpm1 10773
upowers 12017
gexpm1 12582
gsqrtn 12741
tofp_safe 13255
_oner 13797
powersr 13797
rootsof1q_cx 14154
rootsof1powinit 14987
agm 17483
agm1 17637
sqrt_ser 18690
powr0 21041
sqrtnint 23626
pow_polmod 31349
serchop0 36547
gsqrpowers 37434
pi_ramanujan 38354
log2_split 39153
shiftc_inplace 56044
consteuler 58034
mpeuler 58034
mpexp0 72179
serexp 77231
swap_clone 78048
Qp_exp 108299
Qp_exp_safe 108761
powruhalf 117882
Z2_sqrt 144690
mplog 146513
gcos 154846
powcx_prec 182141
Qp_log 198061
gpowers0 200062
PiI2 261346
PiI2n 262235
powcx 266668
abpq_init 274027
logagmcx 299771
Z_to_padic 305289
agm1cx 305350
agmcx_a_b 305399
agmcx_init 305399
pari_close_floats 318828
pari_init_floats 320571
_one 324678
gpowers 324685
scalarpol_get_1 367439
rpowuu 428375
sqrtnof1 524346
grootsof1_4 575691
_rpowuu_msqr 623575
pow_monome 673637
grootsof1 713547
expIr 762225
mpsin 849541
gsin 882476
rootsof1u_cx 1266554
logagmr_abs 1269813
agm1r_abs 1281695
powps 1304948
expQ 1468510
_rpowuu_sqr 1594700
gpowg0 1603195
cubic_prec_mask 1663501
transvec 2010625
mpsinc 2428754
gsinc 2428866
sqrtnr_abs 2485643
mpcos 2745068
cxexp 3289388
gsincos 3298932
_mul 3528516
trans_eval 3730852
T2 4297329
powru 4877225
agmcx_gap 5097356
powfrac 5130559
_sqr 6055454
_mulr 6416227
mpsincos 6774803
abpq_sum 8371921
mpaut 8665648
powrs 9466812
mpcosm1 10371585
logr_aux 10554006
logr_abs 12291933
rootsof1pow 12516441
gexp 14787576
mpexp_basecase 15638998
exp1r_abs 15700922
mpexp 15710938
modlog2 15728478
glog 15880620
agmr_gap 18434664
usqru 19151502
_sqrr 19744062
mulii3 20093512
gpow 20371138
Pi2n 21674510
powis 23644181
mplog2 24627392
constlog2 24627493
_muli 30295416
constpi 34717526
mppi 34717526
gsqrt 34958579
powuu 47847397
_sqri 82368366
powgi 98380633
powiu_sign 99052665
powiu 99211979
upowuu 100146018
gpowgs 117124443

Generated by: LCOV version 1.14