--- reedsolomon.cpp.orig 2007-01-15 09:15:27.000000000 -0800 +++ reedsolomon.cpp 2007-01-15 09:19:46.000000000 -0800 @@ -51,7 +51,7 @@ u32 gcd(u32 a, u32 b) } } -bool ReedSolomon::SetInput(const vector &present) +template <> bool ReedSolomon::SetInput(const vector &present) { inputcount = (u32)present.size(); @@ -80,7 +80,7 @@ bool ReedSolomon::SetInput(cons return true; } -bool ReedSolomon::SetInput(u32 count) +template <> bool ReedSolomon::SetInput(u32 count) { inputcount = count; @@ -101,7 +101,7 @@ bool ReedSolomon::SetInput(u32 return true; } -bool ReedSolomon::Process(size_t size, u32 inputindex, const void *inputbuffer, u32 outputindex, void *outputbuffer) +template <> bool ReedSolomon::Process(size_t size, u32 inputindex, const void *inputbuffer, u32 outputindex, void *outputbuffer) { // Look up the appropriate element in the RS matrix Galois8 factor = leftmatrix[outputindex * (datapresent + datamissing) + inputindex]; @@ -189,7 +189,7 @@ bool ReedSolomon::Process(size_ // Set which of the source files are present and which are missing // and compute the base values to use for the vandermonde matrix. -bool ReedSolomon::SetInput(const vector &present) +template <> bool ReedSolomon::SetInput(const vector &present) { inputcount = (u32)present.size(); @@ -233,7 +233,7 @@ bool ReedSolomon::SetInput(con // Record that the specified number of source files are all present // and compute the base values to use for the vandermonde matrix. -bool ReedSolomon::SetInput(u32 count) +template <> bool ReedSolomon::SetInput(u32 count) { inputcount = count; @@ -267,7 +267,7 @@ bool ReedSolomon::SetInput(u32 return true; } -bool ReedSolomon::Process(size_t size, u32 inputindex, const void *inputbuffer, u32 outputindex, void *outputbuffer) +template <> bool ReedSolomon::Process(size_t size, u32 inputindex, const void *inputbuffer, u32 outputindex, void *outputbuffer) { // Look up the appropriate element in the RS matrix