C++ Mathematical Expression Library (ExprTk) http://www.partow.net/programming/exprtk/index.html
This commit is contained in:
parent
3b6db5b323
commit
e9c3e2e79d
|
@ -9093,7 +9093,8 @@ namespace exprtk
|
|||
e_level10,
|
||||
e_level11,
|
||||
e_level12,
|
||||
e_level13
|
||||
e_level13,
|
||||
e_level14
|
||||
};
|
||||
|
||||
struct state_t;
|
||||
|
@ -10476,7 +10477,7 @@ namespace exprtk
|
|||
else if (token_t::e_add == current_token_.type)
|
||||
{
|
||||
next_token();
|
||||
return expression_generator_(details::e_pos,parse_expression(e_level09));
|
||||
return parse_expression(e_level13);
|
||||
}
|
||||
else if (token_t::e_eof == current_token_.type)
|
||||
{
|
||||
|
|
|
@ -889,6 +889,74 @@ static const test_t test_list[] =
|
|||
test_t("equal(poly11(1.37,3.3,2.2,1.1,9.9,8.8,7.7,6.6,5.5,4.4,3.3,2.2,1.1),(3.3*1.37^11+2.2*1.37^10+1.1*1.37^9+9.9*1.37^8+8.8*1.37^7+7.7*1.37^6+6.6*1.37^5+5.5*1.37^4+4.4*1.37^3+3.3*1.37^2+2.2*1.37^1+1.1))",1.0),
|
||||
test_t("equal(poly12(1.37,4.4,3.3,2.2,1.1,9.9,8.8,7.7,6.6,5.5,4.4,3.3,2.2,1.1),(4.4*1.37^12+3.3*1.37^11+2.2*1.37^10+1.1*1.37^9+9.9*1.37^8+8.8*1.37^7+7.7*1.37^6+6.6*1.37^5+5.5*1.37^4+4.4*1.37^3+3.3*1.37^2+2.2*1.37^1+1.1))",1.0),
|
||||
test_t("equal(\t \n(\n \r1.1\t\t - \n\n 2.2\n\n/\r3.3\t),(1.1-2.2/3.3))",1.0),
|
||||
test_t("equal((pi^2^3),(pi^8))",1.0),
|
||||
test_t("equal((pi^(2^3)),(pi^8))",1.0),
|
||||
test_t("equal(pi^2^3-pi^8,0)",1.0),
|
||||
test_t("equal((2*pi^2^3),2*(pi^8))",1.0),
|
||||
test_t("equal((pi^2^3*2),2*(pi^8))",1.0),
|
||||
test_t("equal((pi^2^3/2),(pi^8)/2)",1.0),
|
||||
test_t("equal((pi^2.2^3.3),(pi^13.4894687605338489))",1.0),
|
||||
test_t("equal((pi^(2.2^3.3)),(pi^13.4894687605338489))",1.0),
|
||||
test_t("equal((2.2*pi^2.2^3.3),2.2*(pi^13.4894687605338489))",1.0),
|
||||
test_t("equal((pi^2.2^3.3*2),2*(pi^13.4894687605338489))",1.0),
|
||||
test_t("equal((pi^2.2^3.3/2.2),(pi^13.4894687605338489)/2.2)",1.0),
|
||||
test_t("equal((pi^-2^3),1/(pi^8))",1.0),
|
||||
test_t("equal((pi^(-2^3)),1/(pi^8))",1.0),
|
||||
test_t("equal((pi^2^-3),(pi^(1/8)))",1.0),
|
||||
test_t("equal((pi^(2^-3)),(pi^(1/8)))",1.0),
|
||||
test_t("equal((pi^-2^-3),1/(pi^(1/8)))",1.0),
|
||||
test_t("equal((pi^(-2^-3)),1/(pi^(1/8)))",1.0),
|
||||
test_t("equal((-pi^2^3),(-pi^8))",1.0),
|
||||
test_t("equal((-pi^(2^3)),(-pi^8))",1.0),
|
||||
test_t("equal(-pi^2^3--pi^8,0)",1.0),
|
||||
test_t("equal((2*-pi^2^3),2*(-pi^8))",1.0),
|
||||
test_t("equal((-pi^2^3*2),2*(-pi^8))",1.0),
|
||||
test_t("equal((-pi^2^3/2),(-pi^8)/2)",1.0),
|
||||
test_t("equal((-pi^2.2^3.3),(-pi^13.4894687605338489))",1.0),
|
||||
test_t("equal((-pi^(2.2^3.3)),(-pi^13.4894687605338489))",1.0),
|
||||
test_t("equal((2.2*-pi^2.2^3.3),2.2*(-pi^13.4894687605338489))",1.0),
|
||||
test_t("equal((-pi^2.2^3.3*2),2*(-pi^13.4894687605338489))",1.0),
|
||||
test_t("equal((-pi^2.2^3.3/2.2),(-pi^13.4894687605338489)/2.2)",1.0),
|
||||
test_t("equal((-pi^-2^3),1/(-pi^8))",1.0),
|
||||
test_t("equal((-pi^(-2^3)),1/(-pi^8))",1.0),
|
||||
test_t("equal((-pi^2^-3),(-pi^(1/8)))",1.0),
|
||||
test_t("equal((-pi^(2^-3)),(-pi^(1/8)))",1.0),
|
||||
test_t("equal((-pi^-2^-3),1/(-pi^(1/8)))",1.0),
|
||||
test_t("equal((-pi^(-2^-3)),1/(-pi^(1/8)))",1.0),
|
||||
test_t("equal((+pi^+2^+3),(+pi^+8))",1.0),
|
||||
test_t("equal((+pi^(2^3)),(+pi^+8))",1.0),
|
||||
test_t("equal(+pi^+2^+3-+pi^+8,0)",1.0),
|
||||
test_t("equal((+2*+pi^+2^+3),+2*(+pi^+8))",1.0),
|
||||
test_t("equal((+pi^+2^+3*+2),+2*(+pi^+8))",1.0),
|
||||
test_t("equal((+pi^+2^+3/+2),(+pi^+8)/+2)",1.0),
|
||||
test_t("equal((+pi^+2.2^+3.3),(+pi^+13.4894687605338489))",1.0),
|
||||
test_t("equal((+pi^(+2.2^+3.3)),(+pi^+13.4894687605338489))",1.0),
|
||||
test_t("equal((+2.2*+pi^+2.2^+3.3),+2.2*(+pi^+13.4894687605338489))",1.0),
|
||||
test_t("equal((+pi^+2.2^+3.3*+2),+2*(+pi^+13.4894687605338489))",1.0),
|
||||
test_t("equal((+pi^+2.2^+3.3/+2.2),(+pi^+13.4894687605338489)/+2.2)",1.0),
|
||||
test_t("equal((+pi^-2^3),1/(+pi^+8))",1.0),
|
||||
test_t("equal((+pi^(-2^3)),1/(+pi^+8))",1.0),
|
||||
test_t("equal((+pi^2^-3),(+pi^(+1/+8)))",1.0),
|
||||
test_t("equal((+pi^(2^-3)),(+pi^(+1/+8)))",1.0),
|
||||
test_t("equal((+pi^-2^-3),1/(+pi^(+1/+8)))",1.0),
|
||||
test_t("equal((+pi^(-2^-3)),1/(+pi^(+1/+8)))",1.0),
|
||||
test_t("equal((-pi^+2^+3),(-pi^+8))",1.0),
|
||||
test_t("equal((-pi^(2^3)),(-pi^+8))",1.0),
|
||||
test_t("equal(-pi^+2^+3--pi^+8,0)",1.0),
|
||||
test_t("equal((+2*-pi^+2^+3),2*(-pi^+8))",1.0),
|
||||
test_t("equal((-pi^+2^+3*2),2*(-pi^+8))",1.0),
|
||||
test_t("equal((-pi^+2^+3/+2),(-pi^+8)/+2)",1.0),
|
||||
test_t("equal((-pi^+2.2^+3.3),(-pi^+13.4894687605338489))",1.0),
|
||||
test_t("equal((-pi^(2.2^3.3)),(-pi^+13.4894687605338489))",1.0),
|
||||
test_t("equal((+2.2*-pi^+2.2^+3.3),2.2*(-pi^+13.4894687605338489))",1.0),
|
||||
test_t("equal((-pi^+2.2^+3.3*2),2*(-pi^+13.4894687605338489))",1.0),
|
||||
test_t("equal((-pi^+2.2^+3.3/+2.2),(-pi^+13.4894687605338489)/+2.2)",1.0),
|
||||
test_t("equal((-pi^-2^3),1/(-pi^+8))",1.0),
|
||||
test_t("equal((-pi^(-2^3)),1/(-pi^+8))",1.0),
|
||||
test_t("equal((-pi^2^-3),(-pi^(+1/+8)))",1.0),
|
||||
test_t("equal((-pi^(2^-3)),(-pi^(+1/+8)))",1.0),
|
||||
test_t("equal((-pi^-2^-3),1/(-pi^(+1/+8)))",1.0),
|
||||
test_t("equal((-pi^(-2^-3)),1/(-pi^(+1/+8)))",1.0)
|
||||
};
|
||||
|
||||
static const std::size_t test_list_size = sizeof(test_list) / sizeof(test_t);
|
||||
|
|
Loading…
Reference in New Issue