1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
diff -u -r par2cmdline-0.4.orig/reedsolomon.cpp par2cmdline-0.4/reedsolomon.cpp
--- par2cmdline-0.4.orig/reedsolomon.cpp 2003-05-26 20:01:31.000000000 +0200
+++ par2cmdline-0.4/reedsolomon.cpp 2006-04-11 19:44:52.000000000 +0200
@@ -51,6 +51,7 @@
}
}
+template <>
bool ReedSolomon<Galois8>::SetInput(const vector<bool> &present)
{
inputcount = (u32)present.size();
@@ -80,6 +81,7 @@
return true;
}
+template <>
bool ReedSolomon<Galois8>::SetInput(u32 count)
{
inputcount = count;
@@ -101,6 +103,7 @@
return true;
}
+template <>
bool ReedSolomon<Galois8>::Process(size_t size, u32 inputindex, const void *inputbuffer, u32 outputindex, void *outputbuffer)
{
// Look up the appropriate element in the RS matrix
@@ -189,6 +192,7 @@
// Set which of the source files are present and which are missing
// and compute the base values to use for the vandermonde matrix.
+template <>
bool ReedSolomon<Galois16>::SetInput(const vector<bool> &present)
{
inputcount = (u32)present.size();
@@ -233,6 +237,7 @@
// Record that the specified number of source files are all present
// and compute the base values to use for the vandermonde matrix.
+template <>
bool ReedSolomon<Galois16>::SetInput(u32 count)
{
inputcount = count;
@@ -267,6 +272,7 @@
return true;
}
+template <>
bool ReedSolomon<Galois16>::Process(size_t size, u32 inputindex, const void *inputbuffer, u32 outputindex, void *outputbuffer)
{
// Look up the appropriate element in the RS matrix
|