Lines Matching refs:Precedence
154 enum class Precedence { // in increasing order for sane comparisons enum
169 template <typename A> constexpr Precedence ToPrecedence(const A &) { in ToPrecedence()
170 return Precedence::Top; in ToPrecedence()
173 static Precedence ToPrecedence(const LogicalOperation<KIND> &x) { in ToPrecedence()
177 return Precedence::And; in ToPrecedence()
179 return Precedence::Or; in ToPrecedence()
181 return Precedence::Not; in ToPrecedence()
184 return Precedence::Equivalence; in ToPrecedence()
187 template <int KIND> constexpr Precedence ToPrecedence(const Not<KIND> &) { in ToPrecedence()
188 return Precedence::Not; in ToPrecedence()
190 template <typename T> constexpr Precedence ToPrecedence(const Relational<T> &) { in ToPrecedence()
191 return Precedence::Relational; in ToPrecedence()
193 template <typename T> constexpr Precedence ToPrecedence(const Add<T> &) { in ToPrecedence()
194 return Precedence::Additive; in ToPrecedence()
196 template <typename T> constexpr Precedence ToPrecedence(const Subtract<T> &) { in ToPrecedence()
197 return Precedence::Additive; in ToPrecedence()
199 template <int KIND> constexpr Precedence ToPrecedence(const Concat<KIND> &) { in ToPrecedence()
200 return Precedence::Additive; in ToPrecedence()
202 template <typename T> constexpr Precedence ToPrecedence(const Negate<T> &) { in ToPrecedence()
203 return Precedence::Negate; in ToPrecedence()
205 template <typename T> constexpr Precedence ToPrecedence(const Multiply<T> &) { in ToPrecedence()
206 return Precedence::Multiplicative; in ToPrecedence()
208 template <typename T> constexpr Precedence ToPrecedence(const Divide<T> &) { in ToPrecedence()
209 return Precedence::Multiplicative; in ToPrecedence()
211 template <typename T> constexpr Precedence ToPrecedence(const Power<T> &) { in ToPrecedence()
212 return Precedence::Power; in ToPrecedence()
215 constexpr Precedence ToPrecedence(const RealToIntPower<T> &) { in ToPrecedence()
216 return Precedence::Power; in ToPrecedence()
218 template <typename T> static Precedence ToPrecedence(const Constant<T> &x) { in ToPrecedence()
223 return Precedence::Negate; in ToPrecedence()
227 return Precedence::Top; in ToPrecedence()
229 template <typename T> static Precedence ToPrecedence(const Expr<T> &expr) { in ToPrecedence()
324 Precedence lhsPrec{ToPrecedence(left())}; in AsFortran()
327 Precedence thisPrec{ToPrecedence(derived())}; in AsFortran()
329 if (thisPrec != Precedence::Top && lhsPrec < thisPrec) { in AsFortran()
335 if (thisPrec != Precedence::Top && in AsFortran()
337 (lhsPrec == Precedence::Power && thisPrec == Precedence::Power))) { in AsFortran()
343 Precedence rhsPrec{ToPrecedence(right())}; in AsFortran()
344 if (thisPrec != Precedence::Top && rhsPrec < thisPrec) { in AsFortran()