21#include <unordered_map>
Symbol assumptions for reasoning about bounds, constness, and evolution.
Bundles Assumptions with both the loose and tight BoundAnalysis derived from them.
Definition extreme_values.h:359
Map from symbols to their assumptions.
Definition assumptions.h:313
Computing bounds of symbolic expressions using assumptions.
std::vector< Expression > MultiExpression
Vector of symbolic expressions for multi-dimensional operations.
Definition symbolic.h:89
SymEngine::RCP< const SymEngine::Basic > Expression
Reference-counted pointer to a symbolic expression (SymEngine Basic).
Definition symbolic.h:83
SymEngine::RCP< const SymEngine::Symbol > Symbol
Reference-counted pointer to a SymEngine Symbol.
Definition symbolic.h:71
bool intersects(const MultiExpression &expr1, const MultiExpression &expr2, const Symbol indvar, const Assumptions &assums1, const Assumptions &assums2)
Checks if the integer domain of two maps intersect.
bool is_monotonic(const Expression expr, const Symbol sym, const Assumptions &assums)
Checks if an expression is monotonic with respect to a symbol.
DependenceDeltas dependence_deltas(const MultiExpression &expr1, const MultiExpression &expr2, const Symbol indvar, const Assumptions &assums1, const Assumptions &assums2)
Computes the dependence distance delta set between two access patterns.
Definition assumptions.h:55
Represents the set of dependence distance vectors between two access patterns.
Definition maps.h:40
bool empty
True if no cross-iteration dependence exists.
Definition maps.h:41
std::vector< std::string > dimensions
Dimension names in order, matching the ISL set dimensions.
Definition maps.h:43
std::string deltas_str
ISL set string representing the delta set (empty string if no dependence).
Definition maps.h:42
Symbolic system for integer-based symbol analysis.