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

This commit is contained in:
Arash Partow 2018-04-15 16:33:07 +10:00
parent 8d21318244
commit db2d357751
1 changed files with 79 additions and 1 deletions

View File

@ -2450,7 +2450,85 @@ inline bool run_test02()
test_ab<T>("var x := 'XXXXX'; var y := '01234567890'; var i := 0; x[0:i+1] <=> y[:]; (x == '01XXX') and (y == 'XX234567890')", "","",T(1.0)),
test_ab<T>("var x := 'XXXXX'; var y := '01234567890'; var i := 0; x[0:i+2] <=> y[:]; (x == '012XX') and (y == 'XXX34567890')", "","",T(1.0)),
test_ab<T>("var x := 'XXXXX'; var y := '01234567890'; var i := 0; x[0:i+3] <=> y[:]; (x == '0123X') and (y == 'XXXX4567890')", "","",T(1.0)),
test_ab<T>("var x := 'XXXXX'; var y := '01234567890'; var i := 0; x[0:i+4] <=> y[:]; (x == '01234') and (y == 'XXXXX567890')", "","",T(1.0))
test_ab<T>("var x := 'XXXXX'; var y := '01234567890'; var i := 0; x[0:i+4] <=> y[:]; (x == '01234') and (y == 'XXXXX567890')", "","",T(1.0)),
test_ab<T>("a like b", "abcd", "abcd", T(1.0)),
test_ab<T>("a like b", "abcd", "abc*", T(1.0)),
test_ab<T>("a like b", "abcd", "*bcd", T(1.0)),
test_ab<T>("a like b", "abcd", "abc?", T(1.0)),
test_ab<T>("a like b", "abcd", "?bcd", T(1.0)),
test_ab<T>("a like b", "abcd", "ab?d", T(1.0)),
test_ab<T>("a like b", "abcd", "ab*d", T(1.0)),
test_ab<T>("a like b", "abcd", "a?cd", T(1.0)),
test_ab<T>("a like b", "abcd", "a*cd", T(1.0)),
test_ab<T>("a like b", "abcd", "a??d", T(1.0)),
test_ab<T>("a like b", "abcd", "a*?d", T(1.0)),
test_ab<T>("a like b", "abcd", "*bc*", T(1.0)),
test_ab<T>("a like b", "abcd", "?bc?", T(1.0)),
test_ab<T>("a like b", "abcd", "????", T(1.0)),
test_ab<T>("a like b", "abcd", "a???", T(1.0)),
test_ab<T>("a like b", "abcd", "ab??", T(1.0)),
test_ab<T>("a like b", "abcd", "abc?", T(1.0)),
test_ab<T>("a like b", "abcd", "???d", T(1.0)),
test_ab<T>("a like b", "abcd", "??cd", T(1.0)),
test_ab<T>("a like b", "abcd", "?bcd", T(1.0)),
test_ab<T>("a like b", "abcd", "?b?d", T(1.0)),
test_ab<T>("a like b", "abcd", "a?c?", T(1.0)),
test_ab<T>("a like b", "abcd", "a??d", T(1.0)),
test_ab<T>("a like b", "abcd", "?bc?", T(1.0)),
test_ab<T>("a like b", "abcd", "ab**", T(1.0)),
test_ab<T>("a like b", "abcd", "ab*?", T(1.0)),
test_ab<T>("a like b", "abcd", "a***", T(1.0)),
test_ab<T>("a like b", "abcd", "**cd", T(1.0)),
test_ab<T>("a like b", "abcd", "*?cd", T(1.0)),
test_ab<T>("a like b", "abcd", "***d", T(1.0)),
test_ab<T>("a like b", "abcd", "*bc*", T(1.0)),
test_ab<T>("a like b", "abcd", "*bc?", T(1.0)),
test_ab<T>("a like b", "abcd", "*b??", T(1.0)),
test_ab<T>("a like b", "abcd", "?bc*", T(1.0)),
test_ab<T>("a like b", "abcd", "??c*", T(1.0)),
test_ab<T>("a like b", "abcd", "*b?*", T(1.0)),
test_ab<T>("a like b", "ab" , "a*" , T(1.0)),
test_ab<T>("a like b", "ab" , "a?" , T(1.0)),
test_ab<T>("a ilike b", "aBcD", "abcd", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "abc*", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "*bcd", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "abc?", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "?bcd", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "ab?d", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "ab*d", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "a?cd", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "a*cd", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "a??d", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "a*?d", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "*bc*", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "?bc?", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "????", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "a???", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "ab??", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "abc?", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "???d", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "??cd", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "?bcd", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "?b?d", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "a?c?", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "a??d", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "?bc?", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "ab**", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "ab*?", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "a***", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "**cd", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "*?cd", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "***d", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "*bc*", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "*bc?", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "*b??", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "?bc*", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "??c*", T(1.0)),
test_ab<T>("a ilike b", "aBcD", "*b?*", T(1.0)),
test_ab<T>("a ilike b", "aB" , "a*" , T(1.0)),
test_ab<T>("a ilike b", "aB" , "a?" , T(1.0))
};
static const std::size_t test_list_size = sizeof(test_list) / sizeof(test_ab<T>);