| 6016 | |
| 6017 | template <typename T> |
| 6018 | bool run_test17() |
| 6019 | { |
| 6020 | typedef exprtk::expression<T> expression_t; |
| 6021 | |
| 6022 | T x = T(1.1); |
| 6023 | T y = T(2.2); |
| 6024 | T z = T(3.3); |
| 6025 | T w = T(4.4); |
| 6026 | T u = T(5.5); |
| 6027 | T v = T(6.6); |
| 6028 | T t = T(7.7); |
| 6029 | |
| 6030 | T one = T(1); |
| 6031 | T zero = T(0); |
| 6032 | |
| 6033 | exprtk::symbol_table<T> symbol_table; |
| 6034 | symbol_table.add_constants(); |
| 6035 | symbol_table.add_variable("x",x); |
| 6036 | symbol_table.add_variable("y",y); |
| 6037 | symbol_table.add_variable("z",z); |
| 6038 | symbol_table.add_variable("w",w); |
| 6039 | symbol_table.add_variable("u",u); |
| 6040 | symbol_table.add_variable("v",v); |
| 6041 | symbol_table.add_variable("t",t); |
| 6042 | |
| 6043 | symbol_table.add_variable("one",one); |
| 6044 | symbol_table.add_variable("zero",zero); |
| 6045 | |
| 6046 | static const std::string expr_str_list[] = |
| 6047 | { |
| 6048 | "equal(mand(one,one),1.0)", |
| 6049 | "equal(mand(one,zero),0.0)", |
| 6050 | "equal(mand(zero,one),0.0)", |
| 6051 | "equal(mand(zero,zero),0.0)", |
| 6052 | "equal(mand(one,one),1.0)", |
| 6053 | "equal(mand(one,one,one),1.0)", |
| 6054 | "equal(mand(one,one,one,one),1.0)", |
| 6055 | "equal(mand(one,one,one,one,one),1.0)", |
| 6056 | "equal(mand(one,one,zero),0.0)", |
| 6057 | "equal(mand(one,one,one,zero),0.0)", |
| 6058 | "equal(mand(one,one,one,one,zero),0.0)", |
| 6059 | "equal(mand(one,one,one,one,one,zero),0.0)", |
| 6060 | "equal(mor(one,one),1.0)", |
| 6061 | "equal(mor(one,zero),1.0)", |
| 6062 | "equal(mor(zero,one),1.0)", |
| 6063 | "equal(mor(zero,zero),0.0)", |
| 6064 | "equal(mor(one,one),1.0)", |
| 6065 | "equal(mor(one,one,zero),1.0)", |
| 6066 | "equal(mor(one,zero,one),1.0)", |
| 6067 | "equal(mor(one,zero,one,zero),1.0)", |
| 6068 | "equal(mor(zero,one),1.0)", |
| 6069 | "equal(mor(zero,zero,one),1.0)", |
| 6070 | "equal(mor(zero,zero,zero,zero,one),1.0)", |
| 6071 | "equal(mor(zero,zero,zero,zero,zero,one),1.0)", |
| 6072 | "equal(mor(zero,zero,zero,zero,zero,zero,zero,zero),0.0)", |
| 6073 | "equal((one nand one),not(mand(one,one)))", |
| 6074 | "equal((one nand zero),not(mand(one,zero)))", |
| 6075 | "equal((zero nand one),not(mand(zero,one)))", |