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.1 lcov report (development 24495-f03dc99ac) Lines: 101115 109694 92.2 %
Date: 2019-10-22 05:49:16 Functions: 9220 9808 94.0 %
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
76.2%76.2%
76.2 % 253 / 332 68.9 % 31 / 45
F2x.c
83.2%83.2%
83.2 % 1443 / 1734 86.6 % 175 / 202
F2xqE.c
93.7%93.7%
93.7 % 419 / 447 94.8 % 55 / 58
FF.c
92.7%92.7%
92.7 % 1123 / 1211 93.2 % 136 / 146
Fle.c
90.4%90.4%
90.4 % 301 / 333 83.3 % 40 / 48
Flv.c
96.2%96.2%
96.2 % 733 / 762 93.4 % 57 / 61
Flx.c
87.9%87.9%
87.9 % 2887 / 3285 87.3 % 344 / 394
FlxqE.c
96.9%96.9%
96.9 % 841 / 868 98.8 % 82 / 83
Flxq_log.c
95.7%95.7%
95.7 % 447 / 467 100.0 % 28 / 28
FpE.c
92.2%92.2%
92.2 % 984 / 1067 93.0 % 106 / 114
FpV.c
78.1%78.1%
78.1 % 714 / 914 83.6 % 107 / 128
FpX.c
90.1%90.1%
90.1 % 1308 / 1451 93.9 % 154 / 164
FpXQX_factor.c
83.3%83.3%
83.3 % 1586 / 1905 84.7 % 127 / 150
FpXX.c
84.5%84.5%
84.5 % 872 / 1032 87.9 % 102 / 116
FpX_factor.c
91.8%91.8%
91.8 % 1234 / 1344 91.5 % 107 / 117
Hensel.c
93.2%93.2%
93.2 % 643 / 690 95.7 % 66 / 69
QX_factor.c
96.5%96.5%
96.5 % 766 / 794 97.9 % 46 / 47
Qfb.c
87.0%87.0%
87.0 % 849 / 976 89.5 % 94 / 105
RgV.c
90.4%90.4%
90.4 % 497 / 550 92.9 % 91 / 98
RgX.c
90.2%90.2%
90.2 % 1486 / 1648 92.2 % 178 / 193
Ser.c
100.0%
100.0 % 126 / 126 100.0 % 17 / 17
ZG.c
60.3%60.3%
60.3 % 44 / 73 57.1 % 8 / 14
ZV.c
89.0%89.0%
89.0 % 796 / 894 93.0 % 119 / 128
ZX.c
86.6%86.6%
86.6 % 569 / 657 91.8 % 78 / 85
alglin1.c
86.4%86.4%
86.4 % 2659 / 3076 92.9 % 287 / 309
alglin2.c
90.7%90.7%
90.7 % 983 / 1084 95.1 % 77 / 81
alglin3.c
92.4%92.4%
92.4 % 501 / 542 88.7 % 47 / 53
aprcl.c
84.8%84.8%
84.8 % 599 / 706 98.0 % 50 / 51
arith1.c
92.5%92.5%
92.5 % 3064 / 3311 93.6 % 276 / 295
arith2.c
88.1%88.1%
88.1 % 590 / 670 91.6 % 87 / 95
base1.c
95.4%95.4%
95.4 % 1527 / 1600 88.1 % 118 / 134
base2.c
94.8%94.8%
94.8 % 2167 / 2287 97.7 % 171 / 175
base3.c
93.8%93.8%
93.8 % 1618 / 1725 94.8 % 181 / 191
base4.c
89.8%89.8%
89.8 % 1491 / 1660 90.8 % 148 / 163
base5.c
92.8%92.8%
92.8 % 1062 / 1145 94.9 % 75 / 79
bb_group.c
93.4%93.4%
93.4 % 539 / 577 100.0 % 36 / 36
bb_hnf.c
93.9%93.9%
93.9 % 602 / 641 92.7 % 51 / 55
bern.c
96.5%96.5%
96.5 % 194 / 201 95.2 % 20 / 21
bibli1.c
95.1%95.1%
95.1 % 1027 / 1080 91.4 % 64 / 70
bibli2.c
95.0%95.0%
95.0 % 1079 / 1136 94.5 % 104 / 110
bit.c
91.2%91.2%
91.2 % 372 / 408 91.7 % 33 / 36
bnflog.c
98.2%98.2%
98.2 % 273 / 278 100.0 % 24 / 24
buch1.c
94.6%94.6%
94.6 % 631 / 667 91.5 % 43 / 47
buch2.c
94.2%94.2%
94.2 % 2339 / 2483 94.1 % 144 / 153
buch3.c
94.7%94.7%
94.7 % 1404 / 1483 96.3 % 105 / 109
buch4.c
80.3%80.3%
80.3 % 387 / 482 81.8 % 27 / 33
char.c
97.3%97.3%
97.3 % 784 / 806 100.0 % 63 / 63
concat.c
90.8%90.8%
90.8 % 305 / 336 100.0 % 15 / 15
crvwtors.c
83.9%83.9%
83.9 % 270 / 322 82.8 % 24 / 29
dirichlet.c
99.3%99.3%
99.3 % 134 / 135 100.0 % 11 / 11
ecpp.c
92.8%92.8%
92.8 % 633 / 682 97.7 % 84 / 86
ellanal.c
91.3%91.3%
91.3 % 665 / 728 93.3 % 56 / 60
elliptic.c
93.9%93.9%
93.9 % 3752 / 3997 98.0 % 345 / 352
ellisog.c
98.4%98.4%
98.4 % 964 / 980 100.0 % 81 / 81
ellpadic.c
96.0%96.0%
96.0 % 580 / 604 100.0 % 47 / 47
ellpadiclambdamu.c
100.0%
100.0 % 113 / 113 100.0 % 7 / 7
ellsea.c
95.9%95.9%
95.9 % 1110 / 1158 97.6 % 81 / 83
elltors.c
97.8%97.8%
97.8 % 399 / 408 92.0 % 23 / 25
galconj.c
80.0%80.0%
80.0 % 1652 / 2064 76.1 % 108 / 142
gen1.c
94.9%94.9%
94.9 % 1689 / 1780 100.0 % 91 / 91
gen2.c
88.8%88.8%
88.8 % 1333 / 1501 93.9 % 138 / 147
gen3.c
92.6%92.6%
92.6 % 2202 / 2378 95.7 % 222 / 232
hnf_snf.c
91.6%91.6%
91.6 % 1530 / 1670 93.7 % 89 / 95
hyperell.c
95.9%95.9%
95.9 % 488 / 509 100.0 % 42 / 42
hypergeom.c
100.0%
100.0 % 628 / 628 100.0 % 66 / 66
ifactor1.c
80.9%80.9%
80.9 % 1449 / 1792 86.3 % 88 / 102
kummer.c
91.7%91.7%
91.7 % 966 / 1053 97.1 % 68 / 70
lfun.c
96.5%96.5%
96.5 % 1425 / 1477 99.3 % 143 / 144
lfunquad.c
98.1%98.1%
98.1 % 357 / 364 100.0 % 45 / 45
lfunutils.c
90.6%90.6%
90.6 % 1404 / 1550 92.2 % 130 / 141
lll.c
92.1%92.1%
92.1 % 440 / 478 93.8 % 30 / 32
map.c
98.2%98.2%
98.2 % 215 / 219 100.0 % 27 / 27
matperm.c
100.0%
100.0 % 78 / 78 100.0 % 4 / 4
mellininv.c
96.5%96.5%
96.5 % 329 / 341 97.0 % 32 / 33
mftrace.c
97.7%97.7%
97.7 % 7383 / 7560 99.5 % 756 / 760
modsym.c
93.1%93.1%
93.1 % 2788 / 2995 98.3 % 295 / 300
msfarey.c
96.8%96.8%
96.8 % 184 / 190 100.0 % 17 / 17
nffactor.c
95.6%95.6%
95.6 % 1178 / 1232 98.6 % 72 / 73
perm.c
83.6%83.6%
83.6 % 657 / 786 89.5 % 77 / 86
polarit1.c
96.6%96.6%
96.6 % 313 / 324 100.0 % 32 / 32
polarit2.c
91.0%91.0%
91.0 % 1920 / 2109 95.9 % 189 / 197
polarit3.c
88.4%88.4%
88.4 % 1398 / 1582 90.9 % 149 / 164
polclass.c
97.3%97.3%
97.3 % 833 / 856 98.3 % 59 / 60
polmodular.c
97.0%97.0%
97.0 % 2260 / 2331 100.0 % 143 / 143
prime.c
87.7%87.7%
87.7 % 619 / 706 91.8 % 67 / 73
qfisom.c
97.2%97.2%
97.2 % 1001 / 1030 100.0 % 55 / 55
qfsolve.c
98.5%98.5%
98.5 % 595 / 604 100.0 % 30 / 30
random.c
100.0%
100.0 % 141 / 141 100.0 % 16 / 16
rootpol.c
95.3%95.3%
95.3 % 1429 / 1500 96.6 % 112 / 116
subcyclo.c
94.9%94.9%
94.9 % 525 / 553 97.6 % 40 / 41
subgroup.c
95.5%95.5%
95.5 % 337 / 353 100.0 % 22 / 22
trans1.c
97.2%97.2%
97.2 % 2096 / 2156 98.7 % 157 / 159
trans2.c
95.7%95.7%
95.7 % 1091 / 1140 97.8 % 87 / 89
trans3.c
93.3%93.3%
93.3 % 1869 / 2003 97.7 % 126 / 129
volcano.c
96.8%96.8%
96.8 % 329 / 340 100.0 % 22 / 22
zetamult.c
98.4%98.4%
98.4 % 246 / 250 95.5 % 21 / 22

Generated by: LCOV version 1.13