| 3544 | |
| 3545 | template <typename T> |
| 3546 | bool run_test08() |
| 3547 | { |
| 3548 | |
| 3549 | static const std::string expr_str[] = |
| 3550 | { |
| 3551 | "x", "y", "z", "w", "u", |
| 3552 | "x + y + z + w + u", |
| 3553 | "x + y / z * w ^ u", |
| 3554 | "x:=1.1", "y:=2.2", "z:=3.3", "w:=4.4", "u:=5.5", |
| 3555 | "x:=x+1.1", "y:=y+2.2", "z:=z+3.3", "w:=w+4.4", "u:=u+5.5", |
| 3556 | "x:=1.1+x", "y:=2.2+y", "z:=3.3+z", "w:=4.4+w", "u:=5.5+u", |
| 3557 | "x:=(x <= 1.1)", |
| 3558 | "y:=(2.2 >= y)", |
| 3559 | "z:=(3.3 and z)", |
| 3560 | "w:=(4.4 or w)", |
| 3561 | "u:=(u xor 5.5)", |
| 3562 | "min(x,y) + min(x,y,z) + min(x,y,z,w) + min(x,y,z,w,y)", |
| 3563 | "max(x,y) + max(x,y,z) + max(x,y,z,w) + max(x,y,z,w,y)", |
| 3564 | "avg(x,y)", |
| 3565 | "avg(x,y,z)", |
| 3566 | "avg(x,y,z,w)", |
| 3567 | "avg(x,y,z,w,u)", |
| 3568 | "(u := u := min(x:=1,y:=2,z:=3)) == 1", |
| 3569 | "(2x+3y+4z+5w)==(2*x+3*y+4*z+5*w)", |
| 3570 | "(3(x+y)/2+1)==(3*(x+y)/2+1)", |
| 3571 | "((x+y)3+1/4)==((x+y)*3+1/4)", |
| 3572 | "((x+y)z+1/2)==((x+y)*z+1/2)", |
| 3573 | "(x+y^3/z) == (x+(y*y*y)/z)", |
| 3574 | "(z-x^3+y^2*7) == (z-(x*x*x)+(y*y)*7)", |
| 3575 | "(3min(x,y))==(3*min(x,y))", |
| 3576 | "(sin(x)y)==(sin(x)*y)", |
| 3577 | "(sin(x)cos(y)+1)==(sin(x)*cos(y)+1)", |
| 3578 | "(sgn(sin(x))cos(sgn(y))+1)==(sgn(sin(x))*cos(sgn(y))+1)", |
| 3579 | "equal($f00(x,y,z),(x+y)/z)", |
| 3580 | "equal($f01(x,y,z),(x+y)*z)", |
| 3581 | "equal($f02(x,y,z),(x+y)-z)", |
| 3582 | "equal($f03(x,y,z),(x+y)+z)", |
| 3583 | "equal($f04(x,y,z),(x-y)+z)", |
| 3584 | "equal($f05(x,y,z),(x-y)/z)", |
| 3585 | "equal($f06(x,y,z),(x-y)*z)", |
| 3586 | "equal($f07(x,y,z),(x*y)+z)", |
| 3587 | "equal($f08(x,y,z),(x*y)-z)", |
| 3588 | "equal($f09(x,y,z),(x*y)/z)", |
| 3589 | "equal($f10(x,y,z),(x*y)*z)", |
| 3590 | "equal($f11(x,y,z),(x/y)+z)", |
| 3591 | "equal($f12(x,y,z),(x/y)-z)", |
| 3592 | "equal($f13(x,y,z),(x/y)/z)", |
| 3593 | "equal($f14(x,y,z),(x/y)*z)", |
| 3594 | "equal($f15(x,y,z),x/(y+z))", |
| 3595 | "equal($f16(x,y,z),x/(y-z))", |
| 3596 | "equal($f17(x,y,z),x/(y*z))", |
| 3597 | "equal($f18(x,y,z),x/(y/z))", |
| 3598 | "equal($f19(x,y,z),x*(y+z))", |
| 3599 | "equal($f20(x,y,z),x*(y-z))", |
| 3600 | "equal($f21(x,y,z),x*(y*z))", |
| 3601 | "equal($f22(x,y,z),x*(y/z))", |
| 3602 | "equal($f23(x,y,z),x-(y+z))", |
| 3603 | "equal($f24(x,y,z),x-(y-z))", |