summaryrefslogtreecommitdiff
path: root/libs/util/src/environment.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/util/src/environment.cpp')
-rw-r--r--libs/util/src/environment.cpp32
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