MCPcopy Create free account
hub / github.com/F-Stack/f-stack / parseCoverParameters

Function parseCoverParameters

freebsd/contrib/zstd/programs/zstdcli.c:394–424  ·  view source on GitHub ↗

* parseCoverParameters() : * reads cover parameters from *stringPtr (e.g. "--train-cover=k=48,d=8,steps=32") into *params * @return 1 means that cover parameters were correct * @return 0 in case of malformed parameters */

Source from the content-addressed store, hash-verified

392 * @return 0 in case of malformed parameters
393 */
394static unsigned parseCoverParameters(const char* stringPtr, ZDICT_cover_params_t* params)
395{
396 memset(params, 0, sizeof(*params));
397 for (; ;) {
398 if (longCommandWArg(&stringPtr, "k=")) { params->k = readU32FromChar(&stringPtr); if (stringPtr[0]==',') { stringPtr++; continue; } else break; }
399 if (longCommandWArg(&stringPtr, "d=")) { params->d = readU32FromChar(&stringPtr); if (stringPtr[0]==',') { stringPtr++; continue; } else break; }
400 if (longCommandWArg(&stringPtr, "steps=")) { params->steps = readU32FromChar(&stringPtr); if (stringPtr[0]==',') { stringPtr++; continue; } else break; }
401 if (longCommandWArg(&stringPtr, "split=")) {
402 unsigned splitPercentage = readU32FromChar(&stringPtr);
403 params->splitPoint = (double)splitPercentage / 100.0;
404 if (stringPtr[0]==',') { stringPtr++; continue; } else break;
405 }
406 if (longCommandWArg(&stringPtr, "shrink")) {
407 params->shrinkDictMaxRegression = kDefaultRegression;
408 params->shrinkDict = 1;
409 if (stringPtr[0]=='=') {
410 stringPtr++;
411 params->shrinkDictMaxRegression = readU32FromChar(&stringPtr);
412 }
413 if (stringPtr[0]==',') {
414 stringPtr++;
415 continue;
416 }
417 else break;
418 }
419 return 0;
420 }
421 if (stringPtr[0] != 0) return 0;
422 DISPLAYLEVEL(4, "cover: k=%u\nd=%u\nsteps=%u\nsplit=%u\nshrink%u\n", params->k, params->d, params->steps, (unsigned)(params->splitPoint * 100), params->shrinkDictMaxRegression);
423 return 1;
424}
425
426/**
427 * parseFastCoverParameters() :

Callers 1

mainFunction · 0.85

Calls 3

memsetFunction · 0.85
longCommandWArgFunction · 0.85
readU32FromCharFunction · 0.70

Tested by

no test coverage detected