MCPcopy Create free account
hub / github.com/catboost/catboost / TryFloatFromString

Function TryFloatFromString

catboost/libs/data/loader.cpp:446–466  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

444 }
445
446 bool TryFloatFromString(TStringBuf token, bool parseNonFinite, float* value) {
447 if (TryFloatFromStringFast(token, *value)) {
448 if (*value == 0.0f) {
449 *value = 0.0f; // remove negative zeros
450 }
451 return true;
452 }
453 if (!parseNonFinite) {
454 return false;
455 }
456 if (IsMissingValue(token)) {
457 *value = std::numeric_limits<float>::quiet_NaN();
458 } else if (TCIEqualTo<TStringBuf>()(token, "inf") || TCIEqualTo<TStringBuf>()(token, "infinity")) {
459 *value = std::numeric_limits<float>::infinity();
460 } else if (TCIEqualTo<TStringBuf>()(token, "-inf") || TCIEqualTo<TStringBuf>()(token, "-infinity")) {
461 *value = -std::numeric_limits<float>::infinity();
462 } else {
463 return false;
464 }
465 return true;
466 }
467}

Callers 3

ProcessBlockMethod · 0.85
ProcessNumVectorFunction · 0.85
ProcessBlockMethod · 0.85

Calls 2

TryFloatFromStringFastFunction · 0.85
IsMissingValueFunction · 0.85

Tested by

no test coverage detected