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

View File

@ -45,11 +45,11 @@ struct TestParameters
unsigned original_count = 1000; // under 65536
unsigned recovery_count = 100; // under 65536 - original_count
#else
unsigned original_count = 3; // under 65536
unsigned recovery_count = 3; // under 65536 - original_count
unsigned original_count = 200; // under 65536
unsigned recovery_count = 20; // under 65536 - original_count
#endif
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;
bool multithreaded = true;
};
@ -453,6 +453,11 @@ static bool BasicTest(const TestParameters& params)
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;
LEO_DEBUG_BREAK;
return false;