diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2016-08-27 10:16:34 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-27 10:16:34 +0200 |
commit | 478fb089d5b5105a2736079b26b20e415683649d (patch) | |
tree | 472e138c8e5d1ca1dc3612030fe775414662845d /src | |
parent | 8d6a6a5bbf7811d7dff799ed8c1c12d63bca19db (diff) | |
parent | ea43936e94fdf2eabb913c1ebc1ac6143bde5bba (diff) |
Merge pull request #93 from intelfx/test-read-environment
test/correctness: read platform and device from environment
Diffstat (limited to 'src')
-rw-r--r-- | src/utilities.cpp | 11 | ||||
-rw-r--r-- | src/utilities.hpp | 4 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/utilities.cpp b/src/utilities.cpp index 11a6c439..77bc72d7 100644 --- a/src/utilities.cpp +++ b/src/utilities.cpp @@ -161,6 +161,8 @@ template <typename T> T ConvertArgument(const char* value) { return static_cast<T>(std::stoi(value)); } +template size_t ConvertArgument(const char* value); + template <> half ConvertArgument(const char* value) { return FloatToHalf(static_cast<float>(std::stod(value))); } @@ -179,6 +181,15 @@ template <> double2 ConvertArgument(const char* value) { return double2{val, val}; } +// Variant of "ConvertArgument" with default values +template <typename T> +T ConvertArgument(const char* value, T default_value) { + + if (value) { return ConvertArgument<T>(value); } + return default_value; +} +template size_t ConvertArgument(const char* value, size_t default_value); + // This function matches patterns in the form of "-option value" or "--option value". It returns a // default value in case the option is not found in the argument string. template <typename T> diff --git a/src/utilities.hpp b/src/utilities.hpp index 700d30d6..75bd5a69 100644 --- a/src/utilities.hpp +++ b/src/utilities.hpp @@ -187,6 +187,10 @@ std::string ToString(T value); template <typename T> T ConvertArgument(const char* value); +// Variant of "ConvertArgument" with default values +template <typename T> +T ConvertArgument(const char* value, T default_value); + // Basic argument parser, matching patterns in the form of "-option value" and "--option value" template <typename T> T GetArgument(const int argc, char **argv, std::string &help, |