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

This commit is contained in:
Arash Partow
2014-12-11 02:59:06 +11:00
parent 7b70dad4cc
commit ecb2a4a1ec
3 changed files with 149 additions and 69 deletions

View File

@ -2112,7 +2112,22 @@ inline bool run_test02()
test_ab<T>("(a += b)[] == 6 ", "abc","123" ,T(1.0)),
test_ab<T>("(a += '123')[] == 6 ", "abc","123" ,T(1.0)),
test_ab<T>("(a += b[3:5])[] == 6 ", "abc","XXX123XXX" ,T(1.0)),
test_ab<T>("(a += b[r0+1:r1-1])[] == 6 ", "abc","XXX123XXX" ,T(1.0))
test_ab<T>("(a += b[r0+1:r1-1])[] == 6 ", "abc","XXX123XXX" ,T(1.0)),
test_ab<T>("(a + b)[:][] == 6 ","abc","123" ,T(1.0)),
test_ab<T>("(a + b)[:][:][] == 6 ","abc","123" ,T(1.0)),
test_ab<T>("(a + b)[:][:][:][] == 6 ","abc","123" ,T(1.0)),
test_ab<T>("(a + b)[:][:][:][:][] == 6 ","abc","123" ,T(1.0)),
test_ab<T>("(a + b)[:][:][:][:][:][] == 6 ","abc","123" ,T(1.0)),
test_ab<T>("(a + b)[:][:][:][:][:][:][] == 6 ","abc","123" ,T(1.0)),
test_ab<T>("(a + b)[:][:][:][:][:][:][:][]== 6 ","abc","123" ,T(1.0)),
test_ab<T>("(a + b)[0:5] == 'abc123' ","abc","123" ,T(1.0)),
test_ab<T>("(a + b)[0:5][1:4] == 'bc12' ","abc","123" ,T(1.0)),
test_ab<T>("(a + b)[0:5][1:4][1:2] == 'c1' ","abc","123" ,T(1.0)),
test_ab<T>("(a + b)[0:5][1:4][1:2][0:0] == 'c' ","abc","123" ,T(1.0)),
test_ab<T>("(a + b)[0:5][] == 6 ","abc","123" ,T(1.0)),
test_ab<T>("(a + b)[0:5][1:4][] == 4 ","abc","123" ,T(1.0)),
test_ab<T>("(a + b)[0:5][1:4][1:2][] == 2 ","abc","123" ,T(1.0)),
test_ab<T>("(a + b)[0:5][1:4][1:2][0:0][] == 1 ","abc","123" ,T(1.0))
};
static const std::size_t test_list_size = sizeof(test_list) / sizeof(test_ab<T>);