Some edits based on pull request comments

This commit is contained in:
Jennifer Liu 2018-07-03 17:53:27 -07:00
parent 16e75e8804
commit 0881184c89
2 changed files with 10 additions and 10 deletions

View File

@ -225,7 +225,7 @@ static COVER_ctx_t *g_ctx = NULL;
*/ */
static size_t COVER_sum(const size_t *samplesSizes, unsigned firstSample, unsigned lastSample) { static size_t COVER_sum(const size_t *samplesSizes, unsigned firstSample, unsigned lastSample) {
size_t sum = 0; size_t sum = 0;
size_t i; unsigned i;
for (i = firstSample; i < lastSample; ++i) { for (i = firstSample; i < lastSample; ++i) {
sum += samplesSizes[i]; sum += samplesSizes[i];
} }
@ -540,13 +540,12 @@ static int COVER_ctx_init(COVER_ctx_t *ctx, const void *samplesBuffer,
const size_t *samplesSizes, unsigned nbSamples, const size_t *samplesSizes, unsigned nbSamples,
unsigned d, double splitPoint) { unsigned d, double splitPoint) {
const BYTE *const samples = (const BYTE *)samplesBuffer; const BYTE *const samples = (const BYTE *)samplesBuffer;
const unsigned first = 0; const unsigned kFirst = 0;
const size_t totalSamplesSize = COVER_sum(samplesSizes, first, nbSamples); const size_t totalSamplesSize = COVER_sum(samplesSizes, kFirst, nbSamples);
/* Split samples into testing and training sets */ /* Split samples into testing and training sets */
double tmp = (double)nbSamples * splitPoint; const unsigned nbTrainSamples = (unsigned)((double)nbSamples * splitPoint);
const unsigned nbTrainSamples = (unsigned)tmp;
const unsigned nbTestSamples = nbSamples - nbTrainSamples; const unsigned nbTestSamples = nbSamples - nbTrainSamples;
const size_t trainingSamplesSize = COVER_sum(samplesSizes, first, nbTrainSamples); const size_t trainingSamplesSize = COVER_sum(samplesSizes, kFirst, nbTrainSamples);
const size_t testSamplesSize = COVER_sum(samplesSizes, nbTrainSamples, nbSamples); const size_t testSamplesSize = COVER_sum(samplesSizes, nbTrainSamples, nbSamples);
/* Checks */ /* Checks */
if (totalSamplesSize < MAX(d, sizeof(U64)) || if (totalSamplesSize < MAX(d, sizeof(U64)) ||
@ -560,7 +559,7 @@ static int COVER_ctx_init(COVER_ctx_t *ctx, const void *samplesBuffer,
DISPLAYLEVEL(1, "Total number of training samples is %u and is invalid.", nbTrainSamples); DISPLAYLEVEL(1, "Total number of training samples is %u and is invalid.", nbTrainSamples);
return 0; return 0;
} }
/* Check if there's testing sample when splitPoint is nonzero */ /* Check if there's testing sample when splitPoint is not 1.0 */
if (nbTestSamples < 1 && splitPoint < 1.0) { if (nbTestSamples < 1 && splitPoint < 1.0) {
DISPLAYLEVEL(1, "Total number of testing samples is %u and is invalid.", nbTestSamples); DISPLAYLEVEL(1, "Total number of testing samples is %u and is invalid.", nbTestSamples);
return 0; return 0;

View File

@ -84,6 +84,7 @@ static U32 g_ldmMinMatch = 0;
static U32 g_ldmHashEveryLog = LDM_PARAM_DEFAULT; static U32 g_ldmHashEveryLog = LDM_PARAM_DEFAULT;
static U32 g_ldmBucketSizeLog = LDM_PARAM_DEFAULT; static U32 g_ldmBucketSizeLog = LDM_PARAM_DEFAULT;
#define DEFAULT_SPLITPOINT 0.8
/*-************************************ /*-************************************
* Display Macros * Display Macros
@ -277,21 +278,20 @@ static unsigned longCommandWArg(const char** stringPtr, const char* longCommand)
*/ */
static unsigned parseCoverParameters(const char* stringPtr, ZDICT_cover_params_t* params) static unsigned parseCoverParameters(const char* stringPtr, ZDICT_cover_params_t* params)
{ {
unsigned splitPercentage = 100;
memset(params, 0, sizeof(*params)); memset(params, 0, sizeof(*params));
for (; ;) { for (; ;) {
if (longCommandWArg(&stringPtr, "k=")) { params->k = readU32FromChar(&stringPtr); if (stringPtr[0]==',') { stringPtr++; continue; } else break; } if (longCommandWArg(&stringPtr, "k=")) { params->k = readU32FromChar(&stringPtr); if (stringPtr[0]==',') { stringPtr++; continue; } else break; }
if (longCommandWArg(&stringPtr, "d=")) { params->d = readU32FromChar(&stringPtr); if (stringPtr[0]==',') { stringPtr++; continue; } else break; } if (longCommandWArg(&stringPtr, "d=")) { params->d = readU32FromChar(&stringPtr); if (stringPtr[0]==',') { stringPtr++; continue; } else break; }
if (longCommandWArg(&stringPtr, "steps=")) { params->steps = readU32FromChar(&stringPtr); if (stringPtr[0]==',') { stringPtr++; continue; } else break; } if (longCommandWArg(&stringPtr, "steps=")) { params->steps = readU32FromChar(&stringPtr); if (stringPtr[0]==',') { stringPtr++; continue; } else break; }
if (longCommandWArg(&stringPtr, "split=")) { if (longCommandWArg(&stringPtr, "split=")) {
splitPercentage = readU32FromChar(&stringPtr); unsigned splitPercentage = readU32FromChar(&stringPtr);
params->splitPoint = (double)splitPercentage / 100.0; params->splitPoint = (double)splitPercentage / 100.0;
if (stringPtr[0]==',') { stringPtr++; continue; } else break; if (stringPtr[0]==',') { stringPtr++; continue; } else break;
} }
return 0; return 0;
} }
if (stringPtr[0] != 0) return 0; if (stringPtr[0] != 0) return 0;
DISPLAYLEVEL(4, "cover: k=%u\nd=%u\nsteps=%u\nsplitPoint=%d\n", params->k, params->d, params->steps, splitPercentage); DISPLAYLEVEL(4, "cover: k=%u\nd=%u\nsteps=%u\nsplit=%u\n", params->k, params->d, params->steps, (unsigned)(params->splitPoint * 100));
return 1; return 1;
} }
@ -316,6 +316,7 @@ static ZDICT_cover_params_t defaultCoverParams(void)
memset(&params, 0, sizeof(params)); memset(&params, 0, sizeof(params));
params.d = 8; params.d = 8;
params.steps = 4; params.steps = 4;
params.splitPoint = DEFAULT_SPLITPOINT;
return params; return params;
} }
#endif #endif