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