From 2809967036ba88a50fe3caefdecf6a19f69890aa Mon Sep 17 00:00:00 2001 From: Arash Partow Date: Mon, 3 Oct 2016 07:47:15 +1100 Subject: [PATCH] C++ Mathematical Expression Library (ExprTk) https://www.partow.net/programming/exprtk/index.html --- exprtk.hpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/exprtk.hpp b/exprtk.hpp index ac65825..2a73586 100644 --- a/exprtk.hpp +++ b/exprtk.hpp @@ -1747,11 +1747,18 @@ namespace exprtk bool instate = false; - #define parse_digit_1(d) \ - if ((digit = (*itr - '0')) < 10) { d = d * T(10) + digit; } else break; if (end == ++itr) break; \ + #define parse_digit_1(d) \ + if ((digit = (*itr - '0')) < 10) \ + { d = d * T(10) + digit; } \ + else \ + { break; } \ + if (end == ++itr) break; \ - #define parse_digit_2(d) \ - if ((digit = (*itr - '0')) < 10) { d = d * T(10) + digit; } else break; ++itr; \ + #define parse_digit_2(d) \ + if ((digit = (*itr - '0')) < 10) \ + { d = d * T(10) + digit; } \ + else { break; } \ + ++itr; \ if ('.' != (*itr)) { @@ -25326,8 +25333,8 @@ namespace exprtk { typedef std::vector arg_list_t; - #define case_stmt(N) \ - if (is_true(arg[(2 * N)])) return arg[(2 * N) + 1]->value(); + #define case_stmt(N) \ + if (is_true(arg[(2 * N)])) { return arg[(2 * N) + 1]->value(); } \ struct switch_1 {