diff options
Diffstat (limited to 'libs/util/src/environment.cpp')
-rw-r--r-- | libs/util/src/environment.cpp | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/libs/util/src/environment.cpp b/libs/util/src/environment.cpp index dca6c5c55..4b18b409f 100644 --- a/libs/util/src/environment.cpp +++ b/libs/util/src/environment.cpp @@ -25,25 +25,23 @@ namespace nnfw namespace util { -int get_env_int(const char* name) +int get_env_int(const char *name, int defaultValue) { const char *value = std::getenv(name); if (value != nullptr) return std::stoi(value); - return 0; + return defaultValue; } -bool get_env_bool(const char* name) +bool get_env_bool(const char *name, bool defaultValue) { const char *value = std::getenv(name); if (value != nullptr) { - if (std::stoi(value)) - return true; - if (!strcasecmp(value, "true")) - return true; + return std::stoi(value) != 0; } - return false; + + return defaultValue; } } // namespace util @@ -74,6 +72,24 @@ bool IntAccessor::access(int &out) const return true; } +FloatAccessor::FloatAccessor(const std::string &tag) : _tag{tag} +{ + // DO NOTHING +} + +bool FloatAccessor::access(float &out) const +{ + auto value = std::getenv(_tag.c_str()); + + if (value == nullptr) + { + return false; + } + + out = std::stof(value); + return true; +} + } // namespace env } // namespace util } // namespace nnfw |