summaryrefslogtreecommitdiff
path: root/src/utilities.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/utilities.cc')
-rw-r--r--src/utilities.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/utilities.cc b/src/utilities.cc
index 042b3116..24efb14c 100644
--- a/src/utilities.cc
+++ b/src/utilities.cc
@@ -103,7 +103,13 @@ std::string ToString(Precision value) {
// both the real and imaginary parts.
template <typename T>
T ConvertArgument(const char* value) {
- return static_cast<T>(std::stod(value));
+ return static_cast<T>(std::stoi(value));
+}
+template <> float ConvertArgument(const char* value) {
+ return static_cast<float>(std::stod(value));
+}
+template <> double ConvertArgument(const char* value) {
+ return static_cast<double>(std::stod(value));
}
template <> float2 ConvertArgument(const char* value) {
auto val = static_cast<float>(std::stod(value));
@@ -139,7 +145,6 @@ T GetArgument(const int argc, char *argv[], std::string &help,
}
// Compiles the above function
-template bool GetArgument<bool>(const int, char **, std::string&, const std::string&, const bool);
template int GetArgument<int>(const int, char **, std::string&, const std::string&, const int);
template size_t GetArgument<size_t>(const int, char **, std::string&, const std::string&, const size_t);
template float GetArgument<float>(const int, char **, std::string&, const std::string&, const float);