From 15dfb090c931a64ce678dc4fe218cdef886983a7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 18 Dec 2022 06:06:22 -0500 Subject: [PATCH] speed up utils::is_double() by putting most likely matching regexps first --- src/utils.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/utils.cpp b/src/utils.cpp index e579cb5f5c..b244972004 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -1163,9 +1163,8 @@ bool utils::is_double(const std::string &str) { if (str.empty()) return false; - if (strmatch(str, "^[+-]?\\d+\\.?\\d*$") || strmatch(str, "^[+-]?\\d*\\.?\\d+$") || - strmatch(str, "^[+-]?\\d+\\.?\\d*[eE][+-]?\\d+$") || - strmatch(str, "^[+-]?\\d*\\.?\\d+[eE][+-]?\\d+$")) + if (strmatch(str, "^[+-]?\\d+\\.?\\d*$") || strmatch(str, "^[+-]?\\d+\\.?\\d*[eE][+-]?\\d+$") || + strmatch(str, "^[+-]?\\d*\\.?\\d+$") || strmatch(str, "^[+-]?\\d*\\.?\\d+[eE][+-]?\\d+$")) return true; else return false;