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.12.0 lcov report (development 23694-b3ccec097) Lines: 99305 107089 92.7 %
Date: 2019-03-20 05:44:21 Functions: 9012 9522 94.6 %
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
F2v.c
83.5%83.5%
83.5 % 253 / 303 73.8 % 31 / 42
buch4.c
80.3%80.3%
80.3 % 387 / 482 81.8 % 27 / 33
FpV.c
77.5%77.5%
77.5 % 700 / 903 82.7 % 105 / 127
crvwtors.c
83.9%83.9%
83.9 % 270 / 322 82.8 % 24 / 29
Fle.c
90.4%90.4%
90.4 % 301 / 333 83.3 % 40 / 48
FpXQX_factor.c
83.3%83.3%
83.3 % 1585 / 1903 84.6 % 126 / 149
ifactor1.c
80.4%80.4%
80.4 % 1456 / 1811 87.0 % 87 / 100
FpXX.c
84.4%84.4%
84.4 % 871 / 1032 87.9 % 102 / 116
alglin3.c
92.1%92.1%
92.1 % 480 / 521 88.0 % 44 / 50
base1.c
95.0%95.0%
95.0 % 1534 / 1614 88.1 % 118 / 134
Flx.c
89.7%89.7%
89.7 % 2887 / 3219 88.5 % 339 / 383
Qfb.c
87.0%87.0%
87.0 % 849 / 976 89.5 % 94 / 105
polarit3.c
87.5%87.5%
87.5 % 1326 / 1516 90.6 % 145 / 160
base4.c
89.8%89.8%
89.8 % 1491 / 1661 90.8 % 148 / 163
bibli1.c
95.1%95.1%
95.1 % 1027 / 1080 91.4 % 64 / 70
arith2.c
87.9%87.9%
87.9 % 590 / 671 91.6 % 87 / 95
bit.c
91.2%91.2%
91.2 % 372 / 408 91.7 % 33 / 36
elltors.c
97.8%97.8%
97.8 % 399 / 408 92.0 % 23 / 25
lfunutils.c
90.3%90.3%
90.3 % 1382 / 1531 92.1 % 128 / 139
RgX.c
89.8%89.8%
89.8 % 1476 / 1643 92.2 % 178 / 193
bb_hnf.c
93.9%93.9%
93.9 % 602 / 641 92.7 % 51 / 55
RgV.c
90.1%90.1%
90.1 % 484 / 537 92.7 % 89 / 96
FpE.c
92.2%92.2%
92.2 % 984 / 1067 93.0 % 106 / 114
alglin1.c
86.2%86.2%
86.2 % 2551 / 2958 93.0 % 279 / 300
gen2.c
88.3%88.3%
88.3 % 1322 / 1497 93.2 % 137 / 147
ellanal.c
91.3%91.3%
91.3 % 669 / 733 93.2 % 55 / 59
FpX_factor.c
92.8%92.8%
92.8 % 1244 / 1341 93.2 % 110 / 118
Flv.c
96.2%96.2%
96.2 % 726 / 755 93.3 % 56 / 60
hnf_snf.c
91.0%91.0%
91.0 % 1508 / 1658 93.5 % 86 / 92
buch1.c
94.8%94.8%
94.8 % 634 / 669 93.6 % 44 / 47
lll.c
92.1%92.1%
92.1 % 440 / 478 93.8 % 30 / 32
rootpol.c
91.6%91.6%
91.6 % 1516 / 1655 93.9 % 108 / 115
FpX.c
90.1%90.1%
90.1 % 1306 / 1450 93.9 % 154 / 164
arith1.c
92.9%92.9%
92.9 % 3058 / 3293 94.2 % 276 / 293
buch2.c
94.3%94.3%
94.3 % 2354 / 2497 94.2 % 147 / 156
bibli2.c
95.0%95.0%
95.0 % 1078 / 1135 94.5 % 103 / 109
nffactor.c
93.1%93.1%
93.1 % 1155 / 1241 94.5 % 69 / 73
bern.c
96.3%96.3%
96.3 % 180 / 187 94.7 % 18 / 19
base3.c
93.7%93.7%
93.7 % 1619 / 1727 94.8 % 181 / 191
F2xqE.c
94.2%94.2%
94.2 % 420 / 446 94.8 % 55 / 58
alglin2.c
90.7%90.7%
90.7 % 955 / 1053 94.9 % 74 / 78
perm.c
93.3%93.3%
93.3 % 652 / 699 94.9 % 75 / 79
base5.c
92.7%92.7%
92.7 % 1057 / 1140 94.9 % 75 / 79
ZX.c
93.8%93.8%
93.8 % 559 / 596 95.1 % 77 / 81
ZV.c
91.3%91.3%
91.3 % 766 / 839 95.1 % 116 / 122
zetamult.c
98.4%98.4%
98.4 % 246 / 250 95.5 % 21 / 22
gen3.c
92.8%92.8%
92.8 % 2145 / 2312 95.6 % 215 / 225
prime.c
90.8%90.8%
90.8 % 633 / 697 95.9 % 70 / 73
FF.c
94.8%94.8%
94.8 % 1122 / 1183 95.8 % 137 / 143
polarit2.c
90.9%90.9%
90.9 % 1891 / 2080 95.9 % 185 / 193
F2x.c
93.4%93.4%
93.4 % 1379 / 1477 96.0 % 166 / 173
buch3.c
94.4%94.4%
94.4 % 1404 / 1488 96.3 % 105 / 109
mellininv.c
96.3%96.3%
96.3 % 311 / 323 96.8 % 30 / 31
Hensel.c
95.4%95.4%
95.4 % 622 / 652 96.9 % 62 / 64
kummer.c
92.3%92.3%
92.3 % 984 / 1066 97.2 % 69 / 71
bb_group.c
92.5%92.5%
92.5 % 534 / 577 97.2 % 35 / 36
subcyclo.c
94.9%94.9%
94.9 % 525 / 553 97.6 % 40 / 41
ellsea.c
95.9%95.9%
95.9 % 1110 / 1158 97.6 % 81 / 83
trans3.c
93.3%93.3%
93.3 % 1812 / 1943 97.6 % 120 / 123
QX_factor.c
95.8%95.8%
95.8 % 714 / 745 97.6 % 41 / 42
ecpp.c
92.8%92.8%
92.8 % 633 / 682 97.7 % 84 / 86
base2.c
94.7%94.7%
94.7 % 2148 / 2268 97.7 % 169 / 173
modsym.c
94.9%94.9%
94.9 % 2569 / 2708 97.9 % 275 / 281
elliptic.c
94.0%94.0%
94.0 % 3728 / 3968 98.0 % 341 / 348
aprcl.c
84.8%84.8%
84.8 % 599 / 706 98.0 % 50 / 51
galconj.c
95.2%95.2%
95.2 % 1590 / 1671 98.1 % 101 / 103
polclass.c
97.3%97.3%
97.3 % 833 / 856 98.3 % 59 / 60
trans1.c
97.1%97.1%
97.1 % 2038 / 2098 98.7 % 151 / 153
ellisog.c
96.5%96.5%
96.5 % 945 / 979 98.8 % 80 / 81
FlxqE.c
96.9%96.9%
96.9 % 840 / 867 98.8 % 82 / 83
trans2.c
96.1%96.1%
96.1 % 1079 / 1123 98.8 % 83 / 84
lfun.c
96.0%96.0%
96.0 % 1351 / 1407 99.3 % 139 / 140
mftrace.c
97.7%97.7%
97.7 % 7306 / 7476 99.6 % 748 / 751
matperm.c
100.0%
100.0 % 78 / 78 100.0 % 4 / 4
dirichlet.c
97.0%97.0%
97.0 % 130 / 134 100.0 % 11 / 11
concat.c
90.8%90.8%
90.8 % 305 / 336 100.0 % 15 / 15
random.c
100.0%
100.0 % 141 / 141 100.0 % 16 / 16
Ser.c
100.0%
100.0 % 126 / 126 100.0 % 17 / 17
volcano.c
96.8%96.8%
96.8 % 329 / 340 100.0 % 22 / 22
subgroup.c
95.5%95.5%
95.5 % 339 / 355 100.0 % 22 / 22
bnflog.c
98.2%98.2%
98.2 % 273 / 278 100.0 % 24 / 24
map.c
98.2%98.2%
98.2 % 215 / 219 100.0 % 27 / 27
Flxq_log.c
96.4%96.4%
96.4 % 450 / 467 100.0 % 28 / 28
qfsolve.c
98.5%98.5%
98.5 % 595 / 604 100.0 % 30 / 30
polarit1.c
96.6%96.6%
96.6 % 309 / 320 100.0 % 30 / 30
hyperell.c
95.8%95.8%
95.8 % 483 / 504 100.0 % 41 / 41
ellpadic.c
96.0%96.0%
96.0 % 580 / 604 100.0 % 47 / 47
qfisom.c
97.0%97.0%
97.0 % 997 / 1028 100.0 % 55 / 55
char.c
97.3%97.3%
97.3 % 784 / 806 100.0 % 63 / 63
hypergeom.c
100.0%
100.0 % 628 / 628 100.0 % 66 / 66
gen1.c
94.3%94.3%
94.3 % 1678 / 1780 100.0 % 91 / 91
polmodular.c
96.9%96.9%
96.9 % 2255 / 2326 100.0 % 142 / 142

Generated by: LCOV version 1.13