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

This commit is contained in:
Arash Partow
2013-07-28 21:35:06 +10:00
parent b369bc342c
commit 399a5f9aa3
7 changed files with 166 additions and 157 deletions

View File

@ -1008,7 +1008,7 @@ inline bool not_equal_impl(const T& t1,
if (t1 != t1) return true;
if (t2 != t2) return true;
T diff = std::abs(t1 - t2);
T eps_norm = (std::max(T(1.0),std::max(std::abs(t1),std::abs(t2))) * epsilon);
T eps_norm = (std::max(T(1),std::max(std::abs(t1),std::abs(t2))) * epsilon);
return diff > eps_norm;
}
@ -1505,28 +1505,28 @@ inline bool run_test02()
test_ab<T>("'456' == a[r0+2:r1] ","01234567890123456789","",T(1.0)),
test_ab<T>("'4567890123456789' == a[r1-r0:] ","01234567890123456789","",T(1.0)),
test_ab<T>("'01234' == a[:r1-r0] ","01234567890123456789","",T(1.0)),
test_ab<T>("a[r0: 6] == b " ,"01234567890123456789","23456",T(1.0)),
test_ab<T>("a[2: r1] == b " ,"01234567890123456789","23456",T(1.0)),
test_ab<T>("a[r0:3*2] == b " ,"01234567890123456789","23456",T(1.0)),
test_ab<T>("a[1+1:r1] == b " ,"01234567890123456789","23456",T(1.0)),
test_ab<T>("a[r0: ] == b " ,"01234567890123456789","234567890123456789",T(1.0)),
test_ab<T>("a[: r1] == b " ,"01234567890123456789","0123456",T(1.0)),
test_ab<T>("a[r0:r1] == b " ,"01234567890123456789","23456",T(1.0)),
test_ab<T>("a[r0:r1+2] == b " ,"01234567890123456789","2345678",T(1.0)),
test_ab<T>("a[r0+2:r1] == b " ,"01234567890123456789","456",T(1.0)),
test_ab<T>("a[r1-r0:] == b " ,"01234567890123456789","4567890123456789",T(1.0)),
test_ab<T>("a[:r1-r0] == b " ,"01234567890123456789","01234",T(1.0)),
test_ab<T>("b == a[r0: 6] " ,"01234567890123456789","23456",T(1.0)),
test_ab<T>("b == a[2: r1] " ,"01234567890123456789","23456",T(1.0)),
test_ab<T>("b == a[r0:3*2] " ,"01234567890123456789","23456",T(1.0)),
test_ab<T>("b == a[1+1:r1] " ,"01234567890123456789","23456",T(1.0)),
test_ab<T>("b == a[r0: ] " ,"01234567890123456789","234567890123456789",T(1.0)),
test_ab<T>("b == a[: r1] " ,"01234567890123456789","0123456",T(1.0)),
test_ab<T>("b == a[r0:r1] " ,"01234567890123456789","23456",T(1.0)),
test_ab<T>("b == a[r0:r1+2] " ,"01234567890123456789","2345678",T(1.0)),
test_ab<T>("b == a[r0+2:r1] " ,"01234567890123456789","456",T(1.0)),
test_ab<T>("b == a[r1-r0:] " ,"01234567890123456789","4567890123456789",T(1.0)),
test_ab<T>("b == a[:r1-r0] " ,"01234567890123456789","01234",T(1.0)),
test_ab<T>("a[r0: 6] == b ","01234567890123456789","23456",T(1.0)),
test_ab<T>("a[2: r1] == b ","01234567890123456789","23456",T(1.0)),
test_ab<T>("a[r0:3*2] == b ","01234567890123456789","23456",T(1.0)),
test_ab<T>("a[1+1:r1] == b ","01234567890123456789","23456",T(1.0)),
test_ab<T>("a[r0: ] == b ","01234567890123456789","234567890123456789",T(1.0)),
test_ab<T>("a[: r1] == b ","01234567890123456789","0123456",T(1.0)),
test_ab<T>("a[r0:r1] == b ","01234567890123456789","23456",T(1.0)),
test_ab<T>("a[r0:r1+2] == b ","01234567890123456789","2345678",T(1.0)),
test_ab<T>("a[r0+2:r1] == b ","01234567890123456789","456",T(1.0)),
test_ab<T>("a[r1-r0:] == b ","01234567890123456789","4567890123456789",T(1.0)),
test_ab<T>("a[:r1-r0] == b ","01234567890123456789","01234",T(1.0)),
test_ab<T>("b == a[r0: 6] ","01234567890123456789","23456",T(1.0)),
test_ab<T>("b == a[2: r1] ","01234567890123456789","23456",T(1.0)),
test_ab<T>("b == a[r0:3*2] ","01234567890123456789","23456",T(1.0)),
test_ab<T>("b == a[1+1:r1] ","01234567890123456789","23456",T(1.0)),
test_ab<T>("b == a[r0: ] ","01234567890123456789","234567890123456789",T(1.0)),
test_ab<T>("b == a[: r1] ","01234567890123456789","0123456",T(1.0)),
test_ab<T>("b == a[r0:r1] ","01234567890123456789","23456",T(1.0)),
test_ab<T>("b == a[r0:r1+2] ","01234567890123456789","2345678",T(1.0)),
test_ab<T>("b == a[r0+2:r1] ","01234567890123456789","456",T(1.0)),
test_ab<T>("b == a[r1-r0:] ","01234567890123456789","4567890123456789",T(1.0)),
test_ab<T>("b == a[:r1-r0] ","01234567890123456789","01234",T(1.0)),
test_ab<T>("'01234567890123456789'[0:9] == a ","0123456789","",T(1.0)),
test_ab<T>("'01234567890123456789'[0:9] == a[:] ","0123456789","",T(1.0)),
test_ab<T>("'01234567890123456789'[0:9] == a[0:] ","0123456789","",T(1.0)),