1 // This file is automatically generated. Do not edit! 2 3 #include "mp/common.h" 4 #include "expr-writer.h" 5 6 const mp::internal::OpCodeInfo mp::internal::OpCodeInfo::INFO[] = { 7 {expr::ADD, expr::FIRST_BINARY}, 8 {expr::SUB, expr::FIRST_BINARY}, 9 {expr::MUL, expr::FIRST_BINARY}, 10 {expr::DIV, expr::FIRST_BINARY}, 11 {expr::MOD, expr::FIRST_BINARY}, 12 {expr::POW, expr::FIRST_BINARY}, 13 {expr::LESS, expr::FIRST_BINARY}, 14 {expr::UNKNOWN, expr::UNKNOWN}, 15 {expr::UNKNOWN, expr::UNKNOWN}, 16 {expr::UNKNOWN, expr::UNKNOWN}, 17 {expr::UNKNOWN, expr::UNKNOWN}, 18 {expr::MIN, expr::FIRST_VARARG}, 19 {expr::MAX, expr::FIRST_VARARG}, 20 {expr::FLOOR, expr::FIRST_UNARY}, 21 {expr::CEIL, expr::FIRST_UNARY}, 22 {expr::ABS, expr::FIRST_UNARY}, 23 {expr::MINUS, expr::FIRST_UNARY}, 24 {expr::UNKNOWN, expr::UNKNOWN}, 25 {expr::UNKNOWN, expr::UNKNOWN}, 26 {expr::UNKNOWN, expr::UNKNOWN}, 27 {expr::OR, expr::FIRST_BINARY_LOGICAL}, 28 {expr::AND, expr::FIRST_BINARY_LOGICAL}, 29 {expr::LT, expr::FIRST_RELATIONAL}, 30 {expr::LE, expr::FIRST_RELATIONAL}, 31 {expr::EQ, expr::FIRST_RELATIONAL}, 32 {expr::UNKNOWN, expr::UNKNOWN}, 33 {expr::UNKNOWN, expr::UNKNOWN}, 34 {expr::UNKNOWN, expr::UNKNOWN}, 35 {expr::GE, expr::FIRST_RELATIONAL}, 36 {expr::GT, expr::FIRST_RELATIONAL}, 37 {expr::NE, expr::FIRST_RELATIONAL}, 38 {expr::UNKNOWN, expr::UNKNOWN}, 39 {expr::UNKNOWN, expr::UNKNOWN}, 40 {expr::UNKNOWN, expr::UNKNOWN}, 41 {expr::NOT, expr::NOT}, 42 {expr::IF, expr::IF}, 43 {expr::UNKNOWN, expr::UNKNOWN}, 44 {expr::TANH, expr::FIRST_UNARY}, 45 {expr::TAN, expr::FIRST_UNARY}, 46 {expr::SQRT, expr::FIRST_UNARY}, 47 {expr::SINH, expr::FIRST_UNARY}, 48 {expr::SIN, expr::FIRST_UNARY}, 49 {expr::LOG10, expr::FIRST_UNARY}, 50 {expr::LOG, expr::FIRST_UNARY}, 51 {expr::EXP, expr::FIRST_UNARY}, 52 {expr::COSH, expr::FIRST_UNARY}, 53 {expr::COS, expr::FIRST_UNARY}, 54 {expr::ATANH, expr::FIRST_UNARY}, 55 {expr::ATAN2, expr::FIRST_BINARY}, 56 {expr::ATAN, expr::FIRST_UNARY}, 57 {expr::ASINH, expr::FIRST_UNARY}, 58 {expr::ASIN, expr::FIRST_UNARY}, 59 {expr::ACOSH, expr::FIRST_UNARY}, 60 {expr::ACOS, expr::FIRST_UNARY}, 61 {expr::SUM, expr::SUM}, 62 {expr::TRUNC_DIV, expr::FIRST_BINARY}, 63 {expr::PRECISION, expr::FIRST_BINARY}, 64 {expr::ROUND, expr::FIRST_BINARY}, 65 {expr::TRUNC, expr::FIRST_BINARY}, 66 {expr::COUNT, expr::COUNT}, 67 {expr::NUMBEROF, expr::NUMBEROF}, 68 {expr::NUMBEROF_SYM, expr::NUMBEROF_SYM}, 69 {expr::ATLEAST, expr::FIRST_LOGICAL_COUNT}, 70 {expr::ATMOST, expr::FIRST_LOGICAL_COUNT}, 71 {expr::PLTERM, expr::PLTERM}, 72 {expr::IFSYM, expr::IFSYM}, 73 {expr::EXACTLY, expr::FIRST_LOGICAL_COUNT}, 74 {expr::NOT_ATLEAST, expr::FIRST_LOGICAL_COUNT}, 75 {expr::NOT_ATMOST, expr::FIRST_LOGICAL_COUNT}, 76 {expr::NOT_EXACTLY, expr::FIRST_LOGICAL_COUNT}, 77 {expr::FORALL, expr::FIRST_ITERATED_LOGICAL}, 78 {expr::EXISTS, expr::FIRST_ITERATED_LOGICAL}, 79 {expr::IMPLICATION, expr::IMPLICATION}, 80 {expr::IFF, expr::FIRST_BINARY_LOGICAL}, 81 {expr::ALLDIFF, expr::FIRST_PAIRWISE}, 82 {expr::NOT_ALLDIFF, expr::FIRST_PAIRWISE}, 83 {expr::POW_CONST_EXP, expr::FIRST_BINARY}, 84 {expr::POW2, expr::FIRST_UNARY}, 85 {expr::POW_CONST_BASE, expr::FIRST_BINARY}, 86 {expr::CALL, expr::CALL}, 87 {expr::NUMBER, expr::NUMBER}, 88 {expr::STRING, expr::STRING}, 89 {expr::VARIABLE, expr::VARIABLE} 90 }; 91 92 const mp::internal::ExprInfo mp::internal::ExprInfo::INFO[] = { 93 {-1, "unknown"}, 94 {80, "number"}, 95 {82, "variable"}, 96 {-1, "common expression"}, 97 {16, "unary -"}, 98 {15, "abs"}, 99 {13, "floor"}, 100 {14, "ceil"}, 101 {39, "sqrt"}, 102 {77, "^2"}, 103 {44, "exp"}, 104 {43, "log"}, 105 {42, "log10"}, 106 {41, "sin"}, 107 {40, "sinh"}, 108 {46, "cos"}, 109 {45, "cosh"}, 110 {38, "tan"}, 111 {37, "tanh"}, 112 {51, "asin"}, 113 {50, "asinh"}, 114 {53, "acos"}, 115 {52, "acosh"}, 116 {49, "atan"}, 117 {47, "atanh"}, 118 {0, "+"}, 119 {1, "-"}, 120 {6, "less"}, 121 {2, "*"}, 122 {3, "/"}, 123 {55, "div"}, 124 {4, "mod"}, 125 {5, "^"}, 126 {78, "^"}, 127 {76, "^"}, 128 {48, "atan2"}, 129 {56, "precision"}, 130 {57, "round"}, 131 {58, "trunc"}, 132 {35, "if"}, 133 {64, "piecewise-linear term"}, 134 {79, "function call"}, 135 {11, "min"}, 136 {12, "max"}, 137 {54, "sum"}, 138 {60, "numberof"}, 139 {61, "symbolic numberof"}, 140 {59, "count"}, 141 {80, "bool"}, 142 {34, "!"}, 143 {20, "||"}, 144 {21, "&&"}, 145 {73, "<==>"}, 146 {22, "<"}, 147 {23, "<="}, 148 {24, "="}, 149 {28, ">="}, 150 {29, ">"}, 151 {30, "!="}, 152 {62, "atleast"}, 153 {63, "atmost"}, 154 {66, "exactly"}, 155 {67, "!atleast"}, 156 {68, "!atmost"}, 157 {69, "!exactly"}, 158 {72, "==>"}, 159 {71, "exists"}, 160 {70, "forall"}, 161 {74, "alldiff"}, 162 {75, "!alldiff"}, 163 {81, "string"}, 164 {65, "symbolic if"} 165 }; 166 167 const mp::prec::Precedence mp::expr::PrecInfo::INFO[] = { 168 prec::UNKNOWN, 169 prec::PRIMARY, 170 prec::PRIMARY, 171 prec::PRIMARY, 172 prec::UNARY, 173 prec::CALL, 174 prec::CALL, 175 prec::CALL, 176 prec::CALL, 177 prec::EXPONENTIATION, 178 prec::CALL, 179 prec::CALL, 180 prec::CALL, 181 prec::CALL, 182 prec::CALL, 183 prec::CALL, 184 prec::CALL, 185 prec::CALL, 186 prec::CALL, 187 prec::CALL, 188 prec::CALL, 189 prec::CALL, 190 prec::CALL, 191 prec::CALL, 192 prec::CALL, 193 prec::ADDITIVE, 194 prec::ADDITIVE, 195 prec::ADDITIVE, 196 prec::MULTIPLICATIVE, 197 prec::MULTIPLICATIVE, 198 prec::MULTIPLICATIVE, 199 prec::MULTIPLICATIVE, 200 prec::EXPONENTIATION, 201 prec::EXPONENTIATION, 202 prec::EXPONENTIATION, 203 prec::CALL, 204 prec::CALL, 205 prec::CALL, 206 prec::CALL, 207 prec::CONDITIONAL, 208 prec::CALL, 209 prec::CALL, 210 prec::CALL, 211 prec::CALL, 212 prec::ITERATIVE, 213 prec::CALL, 214 prec::CALL, 215 prec::CALL, 216 prec::PRIMARY, 217 prec::NOT, 218 prec::LOGICAL_OR, 219 prec::LOGICAL_AND, 220 prec::IFF, 221 prec::RELATIONAL, 222 prec::RELATIONAL, 223 prec::RELATIONAL, 224 prec::RELATIONAL, 225 prec::RELATIONAL, 226 prec::RELATIONAL, 227 prec::CALL, 228 prec::CALL, 229 prec::CALL, 230 prec::CALL, 231 prec::CALL, 232 prec::CALL, 233 prec::IMPLICATION, 234 prec::CALL, 235 prec::CALL, 236 prec::CALL, 237 prec::CALL, 238 prec::PRIMARY, 239 prec::CONDITIONAL 240 }; 241