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.14.0 lcov report (development 27775-aca467eab2) Lines: 119488 129242 92.5 %
Date: 2022-07-03 07:33:15 Functions: 10867 11519 94.3 %
Legend: Rating: low: < 75 % medium: >= 75 % high: >= 90 %

Filename Sort by name Line Coverage Sort by line coverage Functions Sort by function coverage
ZG.c
60.3%60.3%
60.3 % 44 / 73 57.1 % 8 / 14
F3v.c
83.5%83.5%
83.5 % 152 / 182 76.7 % 23 / 30
galconj.c
83.2%83.2%
83.2 % 1901 / 2284 78.8 % 119 / 151
F2v.c
86.7%86.7%
86.7 % 542 / 625 80.6 % 54 / 67
lambert.c
89.6%89.6%
89.6 % 233 / 260 81.8 % 18 / 22
pclgp.c
75.4%75.4%
75.4 % 1832 / 2430 82.9 % 155 / 187
crvwtors.c
84.9%84.9%
84.9 % 275 / 324 83.3 % 25 / 30
FpV.c
78.2%78.2%
78.2 % 752 / 962 83.6 % 112 / 134
FpXQX_factor.c
83.4%83.4%
83.4 % 1606 / 1926 84.6 % 126 / 149
FpXX.c
83.5%83.5%
83.5 % 916 / 1097 86.6 % 110 / 127
ifactor1.c
82.2%82.2%
82.2 % 1528 / 1860 86.8 % 92 / 106
FlxX.c
88.8%88.8%
88.8 % 1097 / 1236 87.6 % 127 / 145
alglin3.c
92.6%92.6%
92.6 % 529 / 571 88.7 % 47 / 53
ZX.c
88.5%88.5%
88.5 % 700 / 791 88.8 % 95 / 107
Fle.c
93.4%93.4%
93.4 % 439 / 470 89.1 % 57 / 64
base1.c
95.1%95.1%
95.1 % 1717 / 1806 89.2 % 140 / 157
arith2.c
88.9%88.9%
88.9 % 496 / 558 89.5 % 68 / 76
Flx.c
90.1%90.1%
90.1 % 2154 / 2390 89.6 % 258 / 288
base4.c
89.6%89.6%
89.6 % 1592 / 1776 89.7 % 156 / 174
F2x.c
86.3%86.3%
86.3 % 1497 / 1735 89.7 % 183 / 204
hnf_snf.c
90.0%90.0%
90.0 % 1552 / 1725 90.0 % 90 / 100
Qfb.c
89.2%89.2%
89.2 % 943 / 1057 91.3 % 115 / 126
RgX.c
90.9%90.9%
90.9 % 1607 / 1768 91.2 % 198 / 217
buch1.c
94.7%94.7%
94.7 % 641 / 677 92.0 % 46 / 50
bibli1.c
95.3%95.3%
95.3 % 1084 / 1138 92.1 % 70 / 76
prime.c
88.6%88.6%
88.6 % 652 / 736 92.1 % 70 / 76
RgV.c
90.0%90.0%
90.0 % 521 / 579 92.2 % 95 / 103
Zp.c
88.8%88.8%
88.8 % 764 / 860 92.4 % 73 / 79
ZV.c
89.0%89.0%
89.0 % 779 / 875 92.4 % 122 / 132
elltors.c
95.5%95.5%
95.5 % 424 / 444 92.6 % 25 / 27
bb_hnf.c
94.1%94.1%
94.1 % 624 / 663 92.7 % 51 / 55
FpE.c
91.7%91.7%
91.7 % 985 / 1074 93.0 % 106 / 114
alglin1.c
86.6%86.6%
86.6 % 2742 / 3165 93.0 % 292 / 314
alglin2.c
90.0%90.0%
90.0 % 1015 / 1128 93.0 % 80 / 86
FpX.c
90.7%90.7%
90.7 % 1426 / 1573 93.0 % 174 / 187
buch2.c
92.0%92.0%
92.0 % 2170 / 2358 93.2 % 150 / 161
FpX_factor.c
92.5%92.5%
92.5 % 1294 / 1399 93.3 % 111 / 119
subcyclo.c
92.3%92.3%
92.3 % 564 / 611 93.3 % 42 / 45
polarit3.c
90.0%90.0%
90.0 % 1738 / 1931 93.4 % 185 / 198
Flv.c
97.2%97.2%
97.2 % 737 / 758 93.5 % 58 / 62
perm.c
91.7%91.7%
91.7 % 952 / 1038 93.7 % 104 / 111
ellrank.c
93.4%93.4%
93.4 % 1107 / 1185 93.8 % 105 / 112
ellanal.c
92.1%92.1%
92.1 % 726 / 788 94.4 % 67 / 71
lfunutils.c
92.2%92.2%
92.2 % 1746 / 1893 94.4 % 168 / 178
bit.c
96.7%96.7%
96.7 % 408 / 422 94.4 % 34 / 36
FF.c
92.4%92.4%
92.4 % 1345 / 1455 94.6 % 139 / 147
base3.c
93.8%93.8%
93.8 % 1980 / 2111 94.5 % 225 / 238
ispower.c
93.2%93.2%
93.2 % 686 / 736 94.9 % 37 / 39
F2xqE.c
93.7%93.7%
93.7 % 419 / 447 94.8 % 55 / 58
bibli2.c
95.3%95.3%
95.3 % 1190 / 1249 94.9 % 111 / 117
gen2.c
89.1%89.1%
89.1 % 1566 / 1757 94.8 % 146 / 154
arith1.c
92.4%92.4%
92.4 % 1979 / 2141 94.9 % 206 / 217
polarit2.c
90.5%90.5%
90.5 % 2170 / 2397 95.1 % 193 / 203
gen3.c
92.5%92.5%
92.5 % 2410 / 2605 95.9 % 231 / 241
buch3.c
93.5%93.5%
93.5 % 1519 / 1625 96.1 % 122 / 127
nffactor.c
93.4%93.4%
93.4 % 1220 / 1306 96.1 % 74 / 77
quad.c
92.3%92.3%
92.3 % 631 / 684 96.3 % 52 / 54
base5.c
94.2%94.2%
94.2 % 1097 / 1164 96.2 % 76 / 79
ellsea.c
95.5%95.5%
95.5 % 1156 / 1211 96.8 % 90 / 93
ecpp.c
93.0%93.0%
93.0 % 756 / 813 97.0 % 96 / 99
bern.c
94.9%94.9%
94.9 % 333 / 351 97.1 % 34 / 35
rootpol.c
95.9%95.9%
95.9 % 1477 / 1540 97.5 % 116 / 119
trans3.c
93.2%93.2%
93.2 % 1684 / 1807 97.6 % 124 / 127
base2.c
94.9%94.9%
94.9 % 2187 / 2304 97.7 % 167 / 171
lfunquad.c
96.9%96.9%
96.9 % 342 / 353 97.7 % 43 / 44
QX_factor.c
96.4%96.4%
96.4 % 772 / 801 97.9 % 46 / 47
trans2.c
96.2%96.2%
96.2 % 1211 / 1259 97.8 % 91 / 93
subfield.c
98.1%98.1%
98.1 % 940 / 958 98.0 % 48 / 49
aprcl.c
85.0%85.0%
85.0 % 600 / 706 98.0 % 50 / 51
nflist.c
96.5%96.5%
96.5 % 3102 / 3216 98.1 % 312 / 318
elliptic.c
93.6%93.6%
93.6 % 4226 / 4515 98.2 % 380 / 387
polclass.c
96.7%96.7%
96.7 % 800 / 827 98.3 % 58 / 59
modsym.c
93.2%93.2%
93.2 % 2823 / 3029 98.3 % 294 / 299
FlxqE.c
97.3%97.3%
97.3 % 797 / 819 98.8 % 79 / 80
lll.c
95.9%95.9%
95.9 % 1203 / 1254 98.9 % 92 / 93
mftrace.c
97.3%97.3%
97.3 % 7529 / 7739 99.2 % 766 / 772
lfun.c
97.7%97.7%
97.7 % 1461 / 1496 99.4 % 158 / 159
trans1.c
97.0%97.0%
97.0 % 2229 / 2299 99.4 % 165 / 166
matperm.c
100.0%
100.0 % 78 / 78 100.0 % 4 / 4
ellpadiclambdamu.c
100.0%
100.0 % 113 / 113 100.0 % 7 / 7
buch4.c
95.9%95.9%
95.9 % 141 / 147 100.0 % 8 / 8
nflistQT.c
97.0%97.0%
97.0 % 164 / 169 100.0 % 12 / 12
ramanujantau.c
97.3%97.3%
97.3 % 107 / 110 100.0 % 12 / 12
bnfunits.c
96.4%96.4%
96.4 % 217 / 225 100.0 % 14 / 14
concat.c
91.9%91.9%
91.9 % 329 / 358 100.0 % 15 / 15
random.c
100.0%
100.0 % 157 / 157 100.0 % 17 / 17
msfarey.c
96.9%96.9%
96.9 % 187 / 193 100.0 % 17 / 17
lerch.c
96.2%96.2%
96.2 % 329 / 342 100.0 % 20 / 20
Ser.c
98.8%98.8%
98.8 % 162 / 164 100.0 % 21 / 21
dirichlet.c
91.5%91.5%
91.5 % 313 / 342 100.0 % 21 / 21
volcano.c
98.5%98.5%
98.5 % 338 / 343 100.0 % 22 / 22
digits.c
93.1%93.1%
93.1 % 162 / 174 100.0 % 23 / 23
subgroup.c
96.0%96.0%
96.0 % 356 / 371 100.0 % 24 / 24
bnflog.c
97.8%97.8%
97.8 % 272 / 278 100.0 % 26 / 26
map.c
99.1%99.1%
99.1 % 219 / 221 100.0 % 27 / 27
Flxq_log.c
95.3%95.3%
95.3 % 445 / 467 100.0 % 28 / 28
polarit1.c
95.8%95.8%
95.8 % 319 / 333 100.0 % 32 / 32
qfsolve.c
98.4%98.4%
98.4 % 604 / 614 100.0 % 33 / 33
mellininv.c
98.8%98.8%
98.8 % 334 / 338 100.0 % 36 / 36
bb_group.c
93.5%93.5%
93.5 % 532 / 569 100.0 % 36 / 36
zetamult.c
96.7%96.7%
96.7 % 562 / 581 100.0 % 41 / 41
ellpadic.c
96.2%96.2%
96.2 % 588 / 611 100.0 % 47 / 47
qfisom.c
98.1%98.1%
98.1 % 871 / 888 100.0 % 55 / 55
kummer.c
98.7%98.7%
98.7 % 855 / 866 100.0 % 61 / 61
char.c
96.4%96.4%
96.4 % 812 / 842 100.0 % 63 / 63
grossenchar.c
98.7%98.7%
98.7 % 1032 / 1046 100.0 % 65 / 65
hyperell.c
96.5%96.5%
96.5 % 806 / 835 100.0 % 70 / 70
hypergeom.c
98.7%98.7%
98.7 % 666 / 675 100.0 % 70 / 70
ellisog.c
98.7%98.7%
98.7 % 943 / 955 100.0 % 80 / 80
gen1.c
94.0%94.0%
94.0 % 1910 / 2031 100.0 % 98 / 98
hgm.c
96.9%96.9%
96.9 % 1214 / 1253 100.0 % 139 / 139
polmodular.c
97.1%97.1%
97.1 % 2308 / 2378 100.0 % 143 / 143

Generated by: LCOV version 1.13