C++ Mathematical Expression Library (ExprTk) https://www.partow.net/programming/exprtk/index.html
This commit is contained in:
parent
6aa4e5917e
commit
99d4430d33
667
exprtk.hpp
667
exprtk.hpp
File diff suppressed because it is too large
Load Diff
|
@ -8060,3 +8060,37 @@ equal(if(x > y){z+2;z;} else if (x > y) w; == null,true)
|
|||
equal(if(x < y){z+2;z;} else if (x < y) {w+2;w;} == z,true)
|
||||
equal(if(x > y){z+2;z;} else if (x < y) {w+2;w;} == w,true)
|
||||
equal(if(x > y){z+2;z;} else if (x > y) {w+2;w;} == null,true)
|
||||
equal(~{var xx[4] := {}; var yy[3] := {1,2,3}; xx := yy; (xx[0] == 1) and (xx[1] == 2) and (xx[2] == 3) and (xx[3] == 0)},true)
|
||||
equal(~{var xx[4] := {}; var yy[3] := {1,2,3}; xx := (yy + 1); (xx[0] == 2) and (xx[1] == 3) and (xx[2] == 4) and (xx[3] == 0)},true)
|
||||
equal(~{var xx[4] := {}; var yy[3] := {1,2,3}; xx := (1 + yy); (xx[0] == 2) and (xx[1] == 3) and (xx[2] == 4) and (xx[3] == 0)},true)
|
||||
equal(~{var xx[4] := {}; var yy[3] := {1,2,3}; xx := 2*(yy + 1); (xx[0] == 4) and (xx[1] == 6) and (xx[2] == 8) and (xx[3] == 0)},true)
|
||||
equal(~{var xx[4] := {}; var yy[3] := {1,2,3}; xx := (yy + 1)*2; (xx[0] == 4) and (xx[1] == 6) and (xx[2] == 8) and (xx[3] == 0)},true)
|
||||
equal(~{var xx[4] := {}; var yy[3] := {1,2,3}; var zz[2] := {1,2}; xx := (yy + zz); (xx[0] == 2) and (xx[1] == 4) and (xx[2] == 0) and (xx[3] == 0)},true)
|
||||
equal(~{var xx[4] := {}; var yy[3] := {1,2,3}; var zz[2] := {1,2}; xx := 2 * (yy + zz); (xx[0] == 4) and (xx[1] == 8) and (xx[2] == 0) and (xx[3] == 0)},true)
|
||||
equal(~{var xx[4] := {}; var yy[3] := {1,2,3}; var zz[2] := {1,2}; xx := (yy + zz) * 2; (xx[0] == 4) and (xx[1] == 8) and (xx[2] == 0) and (xx[3] == 0)},true)
|
||||
equal(~{var xx[4] := {}; var yy[3] := {1,2,3}; var zz[2] := {1,2}; xx := ((1 + yy) + (1 + zz)); (xx[0] == 4) and (xx[1] == 6) and (xx[2] == 0) and (xx[3] == 0)},true)
|
||||
equal(~{var xx[4] := {}; var yy[3] := {1,2,3}; var zz[2] := {1,2}; xx := ((yy + 1) + (zz + 1)); (xx[0] == 4) and (xx[1] == 6) and (xx[2] == 0) and (xx[3] == 0)},true)
|
||||
equal(~{var xx[4] := {}; var yy[3] := {1,2,3}; var zz[2] := {1,2}; xx := ((1 + yy) + (zz + 1)); (xx[0] == 4) and (xx[1] == 6) and (xx[2] == 0) and (xx[3] == 0)},true)
|
||||
equal(~{var xx[4] := {}; var yy[3] := {1,2,3}; var zz[2] := {1,2}; xx := ((yy + 1) + (1 + zz)); (xx[0] == 4) and (xx[1] == 6) and (xx[2] == 0) and (xx[3] == 0)},true)
|
||||
equal(~{var xx[10^5] := [-3]; xx := abs(xx); sum(xx) == (10^5 * 3)},true)
|
||||
equal(~{var xx[10^5] := [-3]; xx := abs(xx + 1); sum(xx) == (10^5 * 2)},true)
|
||||
equal(~{var xx[10^5] := [-3]; xx := abs(1 + xx); sum(xx) == (10^5 * 2)},true)
|
||||
equal(~{var xx[10^5] := [-3]; xx := abs(xx) + 1; sum(xx) == (10^5 * 4)},true)
|
||||
equal(~{var xx[10^5] := [-3]; xx := 1 + abs(xx); sum(xx) == (10^5 * 4)},true)
|
||||
equal(~{var xx[10^5] := [-3]; xx := 2 * abs(xx + 1); sum(xx) == (10^5 * 4)},true)
|
||||
equal(~{var xx[10^5] := [-3]; xx := abs(1 + xx) * 2; sum(xx) == (10^5 * 4)},true)
|
||||
equal(~{var xx[10^5] := [-3]; var yy[10^5] := [-4]; xx := abs(xx + yy); sum(xx) == (10^5 * 7)},true)
|
||||
equal(~{var xx[10^5] := [-3]; var yy[10^5] := [-4]; xx := abs(xx + yy) + 1; sum(xx) == (10^5 * 8)},true)
|
||||
equal(~{var xx[10^5] := [-3]; var yy[10^5] := [-4]; xx := 1 + abs(xx + yy); sum(xx) == (10^5 * 8)},true)
|
||||
equal(~{var xx[10^5] := [-3]; var yy[10^5] := [-4]; xx := abs((xx + 1) + (yy + 1)); sum(xx) == (10^5 * 5)},true)
|
||||
equal(~{var xx[10^5] := [-3]; var yy[10^5] := [-4]; xx := abs((1 + xx) + (1 + yy)); sum(xx) == (10^5 * 5)},true)
|
||||
equal(~{var xx[10^5] := [-3]; var yy[10^5] := [-4]; xx := abs((xx + 1) + (1 + yy)); sum(xx) == (10^5 * 5)},true)
|
||||
equal(~{var xx[10^5] := [-3]; var yy[10^5] := [-4]; xx := abs((1 + xx) + (yy + 1)); sum(xx) == (10^5 * 5)},true)
|
||||
equal(~{var xx[10^5] := [-3]; var yy[10^5] := [-4]; xx := 2 * abs((xx + 1) + (yy + 1)); sum(xx) == 10^6},true)
|
||||
equal(~{var xx[10^5] := [-3]; var yy[10^5] := [-4]; xx := 2 * abs((1 + xx) + (1 + yy)); sum(xx) == 10^6},true)
|
||||
equal(~{var xx[10^5] := [-3]; var yy[10^5] := [-4]; xx := 2 * abs((xx + 1) + (1 + yy)); sum(xx) == 10^6},true)
|
||||
equal(~{var xx[10^5] := [-3]; var yy[10^5] := [-4]; xx := 2 * abs((1 + xx) + (yy + 1)); sum(xx) == 10^6},true)
|
||||
equal(~{var xx[10^5] := [-3]; var yy[10^5] := [-4]; xx := abs((xx + 1) + (yy + 1)) * 2; sum(xx) == 10^6},true)
|
||||
equal(~{var xx[10^5] := [-3]; var yy[10^5] := [-4]; xx := abs((1 + xx) + (1 + yy)) * 2; sum(xx) == 10^6},true)
|
||||
equal(~{var xx[10^5] := [-3]; var yy[10^5] := [-4]; xx := abs((xx + 1) + (1 + yy)) * 2; sum(xx) == 10^6},true)
|
||||
equal(~{var xx[10^5] := [-3]; var yy[10^5] := [-4]; xx := abs((1 + xx) + (yy + 1)) * 2; sum(xx) == 10^6},true)
|
|
@ -24,6 +24,8 @@
|
|||
template <typename T>
|
||||
struct myfunc : public exprtk::ifunction<T>
|
||||
{
|
||||
using exprtk::ifunction<T>::operator();
|
||||
|
||||
myfunc()
|
||||
: exprtk::ifunction<T>(2)
|
||||
{}
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
template <typename T>
|
||||
struct rnd_01 : public exprtk::ifunction<T>
|
||||
{
|
||||
using exprtk::ifunction<T>::operator();
|
||||
|
||||
rnd_01() : exprtk::ifunction<T>(0)
|
||||
{ ::srand(static_cast<unsigned int>(time(NULL))); }
|
||||
|
||||
|
|
Loading…
Reference in New Issue