summaryrefslogtreecommitdiff
path: root/src/utilities.cpp
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2016-09-21 21:32:18 +0200
committerCedric Nugteren <web@cedricnugteren.nl>2016-09-21 21:32:18 +0200
commit6aa652d6ea2389744195ae5cd19321325b2d71aa (patch)
tree58243cb4fbebb094c543028124412718cdeb7c97 /src/utilities.cpp
parent5004a435ff984bba0dff0147a5c4f6a04d703562 (diff)
parentb1929d8ce7022cacbd1812d62098ebd0681bc1ef (diff)
Merge branch 'development' into gemm_direct
Diffstat (limited to 'src/utilities.cpp')
-rw-r--r--src/utilities.cpp11
1 files changed, 11 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>