docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
maps.h
Go to the documentation of this file.
1
17
18#pragma once
19
20#include <string>
21#include <unordered_map>
22#include <vector>
23
27
28namespace sdfg {
29namespace symbolic {
30namespace maps {
31
41 bool empty;
42 std::string deltas_str;
43 std::vector<std::string> dimensions;
44};
45
56bool is_monotonic(const Expression expr, const Symbol sym, const Assumptions& assums);
57
84 const MultiExpression& expr1,
85 const MultiExpression& expr2,
86 const Symbol indvar,
87 const Assumptions& assums1,
88 const Assumptions& assums2
89);
90
103 const MultiExpression& expr1,
104 const MultiExpression& expr2,
105 const Symbol indvar,
106 const Assumptions& assums1,
107 const Assumptions& assums2
108);
109
114 const MultiExpression& expr1,
115 const MultiExpression& expr2,
116 const Symbol indvar,
119);
120
121} // namespace maps
122} // namespace symbolic
123} // namespace sdfg
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
Definition maps.h:30
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
Definition analysis.h:7
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.