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 27713-af4b496856) Lines: 119458 129107 92.5 %
Date: 2022-05-21 10:32:40 Functions: 10866 11509 94.4 %
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.4%87.4%
87.4 % 546 / 625 80.6 % 54 / 67
F2x.c
86.3%86.3%
86.3 % 1497 / 1735 89.7 % 183 / 204
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
92.4%92.4%
92.4 % 1345 / 1455 94.6 % 139 / 147
Fle.c
93.2%93.2%
93.2 % 438 / 470 89.1 % 57 / 64
Flv.c
97.2%97.2%
97.2 % 737 / 758 93.5 % 58 / 62
Flx.c
90.1%90.1%
90.1 % 2154 / 2390 89.6 % 258 / 288
FlxX.c
88.8%88.8%
88.8 % 1097 / 1236 87.6 % 127 / 145
FlxqE.c
97.3%97.3%
97.3 % 797 / 819 98.8 % 79 / 80
Flxq_log.c
95.3%95.3%
95.3 % 445 / 467 100.0 % 28 / 28
FpE.c
91.7%91.7%
91.7 % 985 / 1074 93.0 % 106 / 114
FpV.c
78.4%78.4%
78.4 % 746 / 951 84.2 % 112 / 133
FpX.c
90.7%90.7%
90.7 % 1426 / 1573 93.0 % 174 / 187
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
FpX_factor.c
92.5%92.5%
92.5 % 1294 / 1399 93.3 % 111 / 119
QX_factor.c
96.4%96.4%
96.4 % 772 / 801 97.9 % 46 / 47
Qfb.c
89.2%89.2%
89.2 % 943 / 1057 91.3 % 115 / 126
RgV.c
90.0%90.0%
90.0 % 521 / 579 92.2 % 95 / 103
RgX.c
90.8%90.8%
90.8 % 1602 / 1765 91.2 % 197 / 216
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
89.0%89.0%
89.0 % 779 / 875 92.4 % 122 / 132
ZX.c
88.5%88.5%
88.5 % 700 / 791 88.8 % 95 / 107
Zp.c
88.8%88.8%
88.8 % 764 / 860 92.4 % 73 / 79
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
alglin3.c
92.6%92.6%
92.6 % 529 / 571 88.7 % 47 / 53
aprcl.c
85.1%85.1%
85.1 % 601 / 706 98.0 % 50 / 51
arith1.c
92.4%92.4%
92.4 % 1979 / 2141 94.9 % 206 / 217
arith2.c
88.9%88.9%
88.9 % 496 / 558 89.5 % 68 / 76
base1.c
95.1%95.1%
95.1 % 1716 / 1805 89.1 % 139 / 156
base2.c
94.7%94.7%
94.7 % 2198 / 2320 97.7 % 169 / 173
base3.c
93.8%93.8%
93.8 % 1967 / 2098 94.5 % 225 / 238
base4.c
89.6%89.6%
89.6 % 1591 / 1776 89.7 % 156 / 174
base5.c
94.2%94.2%
94.2 % 1097 / 1164 96.2 % 76 / 79
bb_group.c
93.7%93.7%
93.7 % 533 / 569 100.0 % 36 / 36
bb_hnf.c
94.1%94.1%
94.1 % 624 / 663 92.7 % 51 / 55
bern.c
94.9%94.9%
94.9 % 333 / 351 97.1 % 34 / 35
bibli1.c
95.3%95.3%
95.3 % 1084 / 1138 92.1 % 70 / 76
bibli2.c
95.2%95.2%
95.2 % 1188 / 1248 94.9 % 111 / 117
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
94.7%94.7%
94.7 % 641 / 677 92.0 % 46 / 50
buch2.c
92.0%92.0%
92.0 % 2170 / 2358 93.2 % 150 / 161
buch3.c
93.5%93.5%
93.5 % 1519 / 1625 96.1 % 122 / 127
buch4.c
95.9%95.9%
95.9 % 141 / 147 100.0 % 8 / 8
char.c
96.4%96.4%
96.4 % 812 / 842 100.0 % 63 / 63
concat.c
91.9%91.9%
91.9 % 329 / 358 100.0 % 15 / 15
crvwtors.c
84.9%84.9%
84.9 % 275 / 324 83.3 % 25 / 30
digits.c
93.1%93.1%
93.1 % 162 / 174 100.0 % 23 / 23
dirichlet.c
91.5%91.5%
91.5 % 313 / 342 100.0 % 21 / 21
ecpp.c
93.0%93.0%
93.0 % 756 / 813 97.0 % 96 / 99
ellanal.c
92.1%92.1%
92.1 % 726 / 788 94.4 % 67 / 71
elliptic.c
93.6%93.6%
93.6 % 4226 / 4515 98.2 % 380 / 387
ellisog.c
98.7%98.7%
98.7 % 943 / 955 100.0 % 80 / 80
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.7%93.7%
93.7 % 1155 / 1233 94.0 % 109 / 116
ellsea.c
95.5%95.5%
95.5 % 1156 / 1211 96.8 % 90 / 93
elltors.c
95.5%95.5%
95.5 % 424 / 444 92.6 % 25 / 27
galconj.c
83.2%83.2%
83.2 % 1901 / 2284 78.8 % 119 / 151
gen1.c
94.1%94.1%
94.1 % 1910 / 2030 100.0 % 98 / 98
gen2.c
89.1%89.1%
89.1 % 1566 / 1757 94.8 % 146 / 154
gen3.c
92.5%92.5%
92.5 % 2410 / 2605 95.9 % 231 / 241
grossenchar.c
98.7%98.7%
98.7 % 1031 / 1045 100.0 % 65 / 65
hgm.c
96.9%96.9%
96.9 % 1214 / 1253 100.0 % 139 / 139
hnf_snf.c
90.0%90.0%
90.0 % 1552 / 1725 90.0 % 90 / 100
hyperell.c
96.7%96.7%
96.7 % 704 / 728 100.0 % 61 / 61
hypergeom.c
98.7%98.7%
98.7 % 666 / 675 100.0 % 70 / 70
ifactor1.c
82.6%82.6%
82.6 % 1536 / 1860 87.7 % 93 / 106
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.6%89.6%
89.6 % 233 / 260 81.8 % 18 / 22
lerch.c
96.2%96.2%
96.2 % 329 / 342 100.0 % 20 / 20
lfun.c
97.7%97.7%
97.7 % 1461 / 1496 99.4 % 158 / 159
lfunquad.c
96.9%96.9%
96.9 % 342 / 353 97.7 % 43 / 44
lfunutils.c
92.2%92.2%
92.2 % 1742 / 1889 94.4 % 168 / 178
lll.c
95.9%95.9%
95.9 % 1203 / 1254 98.9 % 92 / 93
map.c
99.1%99.1%
99.1 % 219 / 221 100.0 % 27 / 27
matperm.c
100.0%
100.0 % 78 / 78 100.0 % 4 / 4
mellininv.c
98.8%98.8%
98.8 % 334 / 338 100.0 % 36 / 36
mftrace.c
97.6%97.6%
97.6 % 7526 / 7715 99.4 % 766 / 771
modsym.c
93.2%93.2%
93.2 % 2820 / 3026 98.3 % 294 / 299
msfarey.c
96.9%96.9%
96.9 % 187 / 193 100.0 % 17 / 17
nffactor.c
93.4%93.4%
93.4 % 1220 / 1306 96.1 % 74 / 77
nflist.c
96.8%96.8%
96.8 % 3101 / 3202 98.4 % 312 / 317
nflistQT.c
97.1%97.1%
97.1 % 165 / 170 100.0 % 12 / 12
pclgp.c
77.5%77.5%
77.5 % 1871 / 2413 85.4 % 158 / 185
perm.c
91.7%91.7%
91.7 % 952 / 1038 93.7 % 104 / 111
polarit1.c
95.8%95.8%
95.8 % 319 / 333 100.0 % 32 / 32
polarit2.c
90.5%90.5%
90.5 % 2170 / 2397 95.1 % 193 / 203
polarit3.c
90.0%90.0%
90.0 % 1738 / 1931 93.4 % 185 / 198
polclass.c
96.7%96.7%
96.7 % 800 / 827 98.3 % 58 / 59
polmodular.c
97.1%97.1%
97.1 % 2308 / 2378 100.0 % 143 / 143
prime.c
88.6%88.6%
88.6 % 652 / 736 92.1 % 70 / 76
qfisom.c
98.1%98.1%
98.1 % 871 / 888 100.0 % 55 / 55
qfsolve.c
98.4%98.4%
98.4 % 604 / 614 100.0 % 33 / 33
quad.c
92.3%92.3%
92.3 % 631 / 684 96.3 % 52 / 54
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 % 1477 / 1540 97.5 % 116 / 119
subcyclo.c
92.3%92.3%
92.3 % 564 / 611 93.3 % 42 / 45
subfield.c
98.1%98.1%
98.1 % 940 / 958 98.0 % 48 / 49
subgroup.c
96.0%96.0%
96.0 % 356 / 371 100.0 % 24 / 24
trans1.c
97.0%97.0%
97.0 % 2229 / 2299 99.4 % 165 / 166
trans2.c
96.2%96.2%
96.2 % 1211 / 1259 97.8 % 91 / 93
trans3.c
93.2%93.2%
93.2 % 1684 / 1807 97.6 % 124 / 127
volcano.c
98.5%98.5%
98.5 % 338 / 343 100.0 % 22 / 22
zetamult.c
96.7%96.7%
96.7 % 562 / 581 100.0 % 41 / 41

Generated by: LCOV version 1.13