GF256 is working for all inputs

This commit is contained in:
Christopher Taylor 2017-05-29 03:30:58 -07:00
parent 0f96f50305
commit 7592a816ae
2 changed files with 10 additions and 8 deletions

View File

@ -30,9 +30,8 @@
#define CAT_LEOPARD_RS_H #define CAT_LEOPARD_RS_H
/* /*
Leopard-RS: Reed-Solomon Error Correction Codes for Large Data in C Leopard-RS
MDS Reed-Solomon Error Correction Codes for Large Data in C
WORK IN PROGRESS - NON FUNCTIONAL
Algorithms are described in LeopardCommon.h Algorithms are described in LeopardCommon.h
@ -60,11 +59,9 @@
/* /*
TODO: TODO:
+ Fixes for all different input sizes
+ New 16-bit Muladd inner loops + New 16-bit Muladd inner loops
+ Benchmarks for large data! + Benchmarks for large data!
+ Add multi-threading to split up long parallelizable calculations + Add multi-threading to split up long parallelizable calculations
+ Write detailed comments for all the routines
+ Final benchmarks! + Final benchmarks!
+ Release version 1 + Release version 1
+ Finish up documentation + Finish up documentation

View File

@ -45,11 +45,11 @@ struct TestParameters
unsigned original_count = 1000; // under 65536 unsigned original_count = 1000; // under 65536
unsigned recovery_count = 100; // under 65536 - original_count unsigned recovery_count = 100; // under 65536 - original_count
#else #else
unsigned original_count = 3; // under 65536 unsigned original_count = 200; // under 65536
unsigned recovery_count = 3; // under 65536 - original_count unsigned recovery_count = 20; // under 65536 - original_count
#endif #endif
unsigned buffer_bytes = 64000; // multiple of 64 bytes unsigned buffer_bytes = 64000; // multiple of 64 bytes
unsigned loss_count = 3; // some fraction of original_count unsigned loss_count = 20; // some fraction of original_count
unsigned seed = 0; unsigned seed = 0;
bool multithreaded = true; bool multithreaded = true;
}; };
@ -453,6 +453,11 @@ static bool BasicTest(const TestParameters& params)
if (encodeResult != Leopard_Success) if (encodeResult != Leopard_Success)
{ {
if (encodeResult == Leopard_TooMuchData)
{
cout << "Skipping this test: Parameters are unsupported by the codec" << endl;
return true;
}
cout << "Error: Leopard encode failed with result=" << encodeResult << ": " << leo_result_string(encodeResult) << endl; cout << "Error: Leopard encode failed with result=" << encodeResult << ": " << leo_result_string(encodeResult) << endl;
LEO_DEBUG_BREAK; LEO_DEBUG_BREAK;
return false; return false;