code refactoring and adding some print statements for debugging

This commit is contained in:
Paul Cruz 2017-06-14 10:54:47 -07:00
parent 07cfc975bb
commit aa95bc0a5f

View File

@ -1315,7 +1315,6 @@ static int generateCorpus(U32 seed, unsigned numFiles, const char* const path,
static int generateCorpusWithDict(U32 seed, unsigned numFiles, const char* const path, static int generateCorpusWithDict(U32 seed, unsigned numFiles, const char* const path,
const char* const origPath, const size_t dictSize) const char* const origPath, const size_t dictSize)
{ {
DISPLAY("in generateCorpusWithDict()\n");
char outPath[MAX_PATH]; char outPath[MAX_PATH];
BYTE* dictContent; BYTE* dictContent;
BYTE* fullDict; BYTE* fullDict;
@ -1327,19 +1326,21 @@ static int generateCorpusWithDict(U32 seed, unsigned numFiles, const char* const
DISPLAY("Error: path too long\n"); DISPLAY("Error: path too long\n");
return 1; return 1;
} }
DISPLAY("generating the dictionary randomly\n");
/* Generate the dictionary randomly first */ /* Generate the dictionary randomly first */
dictContent = malloc(dictSize-400); dictContent = malloc(dictSize-400);
dictID = RAND(&seed); dictID = RAND(&seed);
DISPLAY("this is the dictID that is being stored: %u\n", dictID);
fullDict = malloc(dictSize); fullDict = malloc(dictSize);
RAND_buffer(&seed, dictContent, dictSize-40); RAND_buffer(&seed, dictContent, dictSize-40);
{ {
size_t dictWriteSize = 0; size_t dictWriteSize = 0;
/* create random samples */ /* create random samples */
unsigned numSamples = RAND(&seed) % 50; unsigned numSamples = RAND(&seed) % 50;
BYTE* samples;
unsigned i = 0; unsigned i = 0;
size_t* sampleSizes = malloc(numSamples*sizeof(size_t)); size_t* sampleSizes = malloc(numSamples*sizeof(size_t));
{
size_t* curr = sampleSizes; size_t* curr = sampleSizes;
size_t totalSize = 0; size_t totalSize = 0;
while(i++ < numSamples){ while(i++ < numSamples){
@ -1347,22 +1348,29 @@ static int generateCorpusWithDict(U32 seed, unsigned numFiles, const char* const
totalSize += *curr; totalSize += *curr;
curr++; curr++;
} }
ZDICT_params_t zdictParams; samples = malloc(totalSize);
BYTE* samples = malloc(totalSize);
RAND_buffer(&seed, samples, totalSize); RAND_buffer(&seed, samples, totalSize);
}
{
/* set dictionary params */ /* set dictionary params */
memset(&zdictParams, 0, sizeof(ZDICT_params_t)); ZDICT_params_t zdictParams;
memset(&zdictParams, 0, sizeof(zdictParams));
zdictParams.dictID = dictID; zdictParams.dictID = dictID;
zdictParams.notificationLevel = 1;
/* finalize dictionary with random samples */ /* finalize dictionary with random samples */
dictWriteSize = ZDICT_finalizeDictionary(fullDict, dictSize, dictWriteSize = ZDICT_finalizeDictionary(fullDict, dictSize,
dictContent, dictSize-400, dictContent, dictSize-400,
samples, sampleSizes, numSamples, samples, sampleSizes, numSamples,
zdictParams); zdictParams);
DISPLAY("total size: %zu %zu\n", totalSize, dictSize); }
if(dictWriteSize != dictSize && ZDICT_isError(dictWriteSize)){ if(dictWriteSize != dictSize && ZDICT_isError(dictWriteSize)){
DISPLAY("Could not finalize dictionary: %s\n", ZDICT_getErrorName(dictWriteSize)); DISPLAY("Could not finalize dictionary: %s\n", ZDICT_getErrorName(dictWriteSize));
return 1;
} }
/* write out dictionary */ /* write out dictionary */
if(snprintf(outPath, MAX_PATH, "%s/dictionary", path) + 1 > MAX_PATH){ if(snprintf(outPath, MAX_PATH, "%s/dictionary", path) + 1 > MAX_PATH){
DISPLAY("Error: dictionary path too long\n"); DISPLAY("Error: dictionary path too long\n");
@ -1373,6 +1381,7 @@ static int generateCorpusWithDict(U32 seed, unsigned numFiles, const char* const
DISPLAY("generating compressed files\n"); DISPLAY("generating compressed files\n");
decompressedPtr = malloc(MAX_DECOMPRESSED_SIZE); decompressedPtr = malloc(MAX_DECOMPRESSED_SIZE);
/* generate random compressed/decompressed files */ /* generate random compressed/decompressed files */
for (fnum = 0; fnum < numFiles; fnum++) { for (fnum = 0; fnum < numFiles; fnum++) {
frame_t fr; frame_t fr;
@ -1403,6 +1412,10 @@ static int generateCorpusWithDict(U32 seed, unsigned numFiles, const char* const
fr.srcStart, (BYTE*)fr.src - (BYTE*)fr.srcStart, fr.srcStart, (BYTE*)fr.src - (BYTE*)fr.srcStart,
fullDict, dictSize); fullDict, dictSize);
if(ZSTD_isError(returnValue)){
DISPLAY("Error: %s", ZSTD_getErrorName(returnValue));
}
} }
DISPLAY("end of function\n"); DISPLAY("end of function\n");
return 0; return 0;