C++ Mathematical Expression Library (ExprTk) https://www.partow.net/programming/exprtk/index.html

This commit is contained in:
Arash Partow 2016-10-03 07:47:15 +11:00
parent 73664659e3
commit 2809967036
1 changed files with 13 additions and 6 deletions

View File

@ -1748,10 +1748,17 @@ namespace exprtk
bool instate = false; bool instate = false;
#define parse_digit_1(d) \ #define parse_digit_1(d) \
if ((digit = (*itr - '0')) < 10) { d = d * T(10) + digit; } else break; if (end == ++itr) break; \ if ((digit = (*itr - '0')) < 10) \
{ d = d * T(10) + digit; } \
else \
{ break; } \
if (end == ++itr) break; \
#define parse_digit_2(d) \ #define parse_digit_2(d) \
if ((digit = (*itr - '0')) < 10) { d = d * T(10) + digit; } else break; ++itr; \ if ((digit = (*itr - '0')) < 10) \
{ d = d * T(10) + digit; } \
else { break; } \
++itr; \
if ('.' != (*itr)) if ('.' != (*itr))
{ {
@ -25327,7 +25334,7 @@ namespace exprtk
typedef std::vector<expression_node_ptr> arg_list_t; typedef std::vector<expression_node_ptr> arg_list_t;
#define case_stmt(N) \ #define case_stmt(N) \
if (is_true(arg[(2 * N)])) return arg[(2 * N) + 1]->value(); if (is_true(arg[(2 * N)])) { return arg[(2 * N) + 1]->value(); } \
struct switch_1 struct switch_1
{ {