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 Hit Total Coverage
Test: PARI/GP v2.16.2 lcov report (development 29115-f22e516b23) Lines: 123450 134772 91.6 %
Date: 2024-03-18 08:03:28 Functions: 11289 12054 93.7 %
Legend: Rating: low: < 75 % medium: >= 75 % high: >= 90 %

Filename Sort by name Line Coverage Sort by line coverage Functions Sort by function coverage
F2v.c
87.5%87.5%
87.5 % 555 / 634 80.9 % 55 / 68
F2x.c
83.8%83.8%
83.8 % 1542 / 1840 89.7 % 192 / 214
F2xqE.c
93.7%93.7%
93.7 % 419 / 447 94.8 % 55 / 58
F3v.c
83.5%83.5%
83.5 % 152 / 182 76.7 % 23 / 30
FF.c
91.3%91.3%
91.3 % 1356 / 1486 93.3 % 139 / 149
Fle.c
93.6%93.6%
93.6 % 427 / 456 89.1 % 57 / 64
Flv.c
97.2%97.2%
97.2 % 737 / 758 93.5 % 58 / 62
Flx.c
88.6%88.6%
88.6 % 2402 / 2712 86.5 % 296 / 342
FlxX.c
82.1%82.1%
82.1 % 1195 / 1455 76.8 % 149 / 194
FlxqE.c
93.4%93.4%
93.4 % 865 / 926 94.5 % 86 / 91
Flxq_log.c
95.3%95.3%
95.3 % 446 / 468 100.0 % 28 / 28
FpE.c
91.5%91.5%
91.5 % 1093 / 1195 93.8 % 121 / 129
FpV.c
76.9%76.9%
76.9 % 741 / 964 80.7 % 109 / 135
FpX.c
91.1%91.1%
91.1 % 1631 / 1791 93.4 % 184 / 197
FpXQX_factor.c
82.9%82.9%
82.9 % 1614 / 1946 83.0 % 127 / 153
FpXX.c
78.3%78.3%
78.3 % 951 / 1215 85.1 % 114 / 134
FpX_factor.c
91.7%91.7%
91.7 % 1307 / 1425 91.9 % 114 / 124
QX_factor.c
96.5%96.5%
96.5 % 772 / 800 97.8 % 44 / 45
Qfb.c
90.0%90.0%
90.0 % 1102 / 1224 93.6 % 131 / 140
RgV.c
88.1%88.1%
88.1 % 509 / 578 91.3 % 95 / 104
RgX.c
91.0%91.0%
91.0 % 1610 / 1770 91.3 % 199 / 218
Ser.c
98.8%98.8%
98.8 % 162 / 164 100.0 % 21 / 21
ZG.c
60.3%60.3%
60.3 % 44 / 73 57.1 % 8 / 14
ZV.c
87.7%87.7%
87.7 % 779 / 888 89.7 % 122 / 136
ZX.c
88.5%88.5%
88.5 % 700 / 791 88.8 % 95 / 107
Zp.c
85.3%85.3%
85.3 % 734 / 860 87.3 % 69 / 79
alglin1.c
87.6%87.6%
87.6 % 2767 / 3159 93.4 % 296 / 317
alglin2.c
90.5%90.5%
90.5 % 1055 / 1166 93.3 % 84 / 90
alglin3.c
92.3%92.3%
92.3 % 537 / 582 88.7 % 47 / 53
aprcl.c
84.9%84.9%
84.9 % 598 / 704 98.0 % 49 / 50
arith1.c
90.9%90.9%
90.9 % 2099 / 2310 93.8 % 211 / 225
arith2.c
93.9%93.9%
93.9 % 524 / 558 93.4 % 71 / 76
base1.c
95.0%95.0%
95.0 % 1713 / 1803 89.1 % 139 / 156
base2.c
94.7%94.7%
94.7 % 2213 / 2337 97.7 % 168 / 172
base3.c
93.8%93.8%
93.8 % 2040 / 2174 94.6 % 228 / 241
base4.c
91.6%91.6%
91.6 % 1643 / 1794 91.6 % 164 / 179
base5.c
68.8%68.8%
68.8 % 1098 / 1597 85.4 % 76 / 89
bb_group.c
93.8%93.8%
93.8 % 533 / 568 100.0 % 36 / 36
bb_hnf.c
96.8%96.8%
96.8 % 642 / 663 96.4 % 53 / 55
bern.c
95.0%95.0%
95.0 % 340 / 358 97.2 % 35 / 36
bibli1.c
95.4%95.4%
95.4 % 1085 / 1137 92.1 % 70 / 76
bibli2.c
95.5%95.5%
95.5 % 1252 / 1311 95.9 % 116 / 121
bit.c
96.7%96.7%
96.7 % 408 / 422 94.4 % 34 / 36
bnflog.c
97.8%97.8%
97.8 % 272 / 278 100.0 % 26 / 26
bnfunits.c
96.4%96.4%
96.4 % 217 / 225 100.0 % 14 / 14
buch1.c
95.3%95.3%
95.3 % 652 / 684 92.5 % 49 / 53
buch2.c
91.7%91.7%
91.7 % 2208 / 2407 93.3 % 154 / 165
buch3.c
93.4%93.4%
93.4 % 1509 / 1615 96.0 % 120 / 125
buch4.c
95.9%95.9%
95.9 % 140 / 146 100.0 % 8 / 8
char.c
95.7%95.7%
95.7 % 820 / 857 100.0 % 63 / 63
concat.c
92.5%92.5%
92.5 % 331 / 358 100.0 % 15 / 15
crvwtors.c
84.8%84.8%
84.8 % 274 / 323 83.3 % 25 / 30
digits.c
95.6%95.6%
95.6 % 195 / 204 100.0 % 27 / 27
dirichlet.c
92.7%92.7%
92.7 % 634 / 684 95.0 % 38 / 40
ecpp.c
92.9%92.9%
92.9 % 748 / 805 96.9 % 95 / 98
ellanal.c
87.0%87.0%
87.0 % 683 / 785 92.8 % 64 / 69
elliptic.c
93.5%93.5%
93.5 % 4342 / 4645 98.0 % 388 / 396
ellisog.c
98.7%98.7%
98.7 % 978 / 991 100.0 % 85 / 85
ellpadic.c
96.2%96.2%
96.2 % 588 / 611 100.0 % 47 / 47
ellpadiclambdamu.c
100.0%
100.0 % 113 / 113 100.0 % 7 / 7
ellrank.c
93.5%93.5%
93.5 % 1143 / 1222 93.9 % 108 / 115
ellsea.c
95.9%95.9%
95.9 % 1208 / 1260 96.9 % 94 / 97
elltors.c
95.7%95.7%
95.7 % 419 / 438 92.3 % 24 / 26
factcyclo.c
85.0%85.0%
85.0 % 915 / 1077 90.6 % 77 / 85
galconj.c
83.3%83.3%
83.3 % 1909 / 2293 78.9 % 120 / 152
gen1.c
93.9%93.9%
93.9 % 1935 / 2060 100.0 % 101 / 101
gen2.c
89.0%89.0%
89.0 % 1577 / 1772 94.3 % 149 / 158
gen3.c
92.1%92.1%
92.1 % 2408 / 2615 95.5 % 231 / 242
grossenchar.c
98.6%98.6%
98.6 % 1034 / 1049 100.0 % 66 / 66
hgm.c
96.9%96.9%
96.9 % 1218 / 1257 100.0 % 139 / 139
hnf_snf.c
90.1%90.1%
90.1 % 1557 / 1728 90.0 % 90 / 100
hyperell.c
97.4%97.4%
97.4 % 812 / 834 100.0 % 70 / 70
hypergeom.c
99.4%99.4%
99.4 % 682 / 686 100.0 % 71 / 71
ifactor1.c
82.0%82.0%
82.0 % 1555 / 1897 86.9 % 93 / 107
ispower.c
93.2%93.2%
93.2 % 686 / 736 94.9 % 37 / 39
kummer.c
98.7%98.7%
98.7 % 855 / 866 100.0 % 61 / 61
lambert.c
89.8%89.8%
89.8 % 237 / 264 81.8 % 18 / 22
lerch.c
96.0%96.0%
96.0 % 336 / 350 100.0 % 21 / 21
lfun.c
97.5%97.5%
97.5 % 1591 / 1632 100.0 % 163 / 163
lfunlarge.c
58.9%58.9%
58.9 % 297 / 504 63.0 % 46 / 73
lfunquad.c
96.8%96.8%
96.8 % 337 / 348 97.7 % 42 / 43
lfunutils.c
91.5%91.5%
91.5 % 1812 / 1980 94.7 % 177 / 187
lll.c
81.0%81.0%
81.0 % 1301 / 1607 97.6 % 121 / 124
map.c
99.1%99.1%
99.1 % 224 / 226 100.0 % 28 / 28
matperm.c
100.0%
100.0 % 78 / 78 100.0 % 4 / 4
mellininv.c
98.6%98.6%
98.6 % 349 / 354 100.0 % 40 / 40
mftrace.c
97.3%97.3%
97.3 % 7539 / 7750 99.2 % 766 / 772
modsym.c
93.2%93.2%
93.2 % 2823 / 3029 98.3 % 294 / 299
msfarey.c
96.9%96.9%
96.9 % 187 / 193 100.0 % 17 / 17
nffactor.c
93.0%93.0%
93.0 % 1221 / 1313 94.9 % 75 / 79
nflist.c
96.3%96.3%
96.3 % 3109 / 3228 97.8 % 314 / 321
nflistQT.c
97.0%97.0%
97.0 % 164 / 169 100.0 % 12 / 12
pclgp.c
77.1%77.1%
77.1 % 1835 / 2379 85.0 % 153 / 180
perm.c
92.0%92.0%
92.0 % 992 / 1078 93.9 % 108 / 115
polarit1.c
95.8%95.8%
95.8 % 319 / 333 100.0 % 32 / 32
polarit2.c
90.6%90.6%
90.6 % 2238 / 2471 95.3 % 204 / 214
polarit3.c
89.8%89.8%
89.8 % 1747 / 1946 93.0 % 185 / 199
polclass.c
97.5%97.5%
97.5 % 825 / 846 98.6 % 72 / 73
polmodular.c
97.0%97.0%
97.0 % 2281 / 2352 100.0 % 142 / 142
prime.c
91.6%91.6%
91.6 % 651 / 711 93.3 % 70 / 75
qfisom.c
98.1%98.1%
98.1 % 871 / 888 100.0 % 55 / 55
qfsolve.c
98.3%98.3%
98.3 % 621 / 632 100.0 % 34 / 34
quad.c
96.0%96.0%
96.0 % 690 / 719 95.0 % 57 / 60
ramanujantau.c
97.3%97.3%
97.3 % 107 / 110 100.0 % 12 / 12
random.c
100.0%
100.0 % 157 / 157 100.0 % 17 / 17
rootpol.c
95.9%95.9%
95.9 % 1480 / 1543 97.5 % 116 / 119
subcyclo.c
92.7%92.7%
92.7 % 608 / 656 93.9 % 46 / 49
subfield.c
97.9%97.9%
97.9 % 938 / 958 98.0 % 48 / 49
subgroup.c
96.0%96.0%
96.0 % 356 / 371 100.0 % 24 / 24
trans1.c
97.2%97.2%
97.2 % 2256 / 2322 99.4 % 166 / 167
trans2.c
96.1%96.1%
96.1 % 1223 / 1272 97.9 % 92 / 94
trans3.c
93.2%93.2%
93.2 % 1739 / 1866 97.7 % 126 / 129
volcano.c
98.6%98.6%
98.6 % 340 / 345 100.0 % 28 / 28
zetamult.c
96.9%96.9%
96.9 % 562 / 580 97.6 % 40 / 41

Generated by: LCOV version 1.14