AffineMap represents a map from a set of dimensions and symbols to a
multi-dimensional affine expression.
Source code in xdsl/ir/affine/affine_set.py
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 | @dataclass(frozen=True)
class AffineSet:
"""
AffineMap represents a map from a set of dimensions and symbols to a
multi-dimensional affine expression.
"""
num_dims: int
num_symbols: int
constraints: tuple[AffineConstraintExpr, ...]
def __str__(self) -> str:
# Create comma seperated list of dims.
dims = ", ".join("d" + str(i) for i in range(self.num_dims))
# Create comma seperated list of symbols.
syms = ["s" + str(i) for i in range(self.num_symbols)]
syms = ", ".join(syms)
# Create comma seperated list of results.
constraints = ", ".join(str(cnstr) for cnstr in self.constraints)
if self.num_symbols == 0:
return f"({dims}) : ({constraints})"
return f"({dims})[{syms}] : ({constraints})"
|
num_dims: int
instance-attribute
num_symbols: int
instance-attribute
constraints: tuple[AffineConstraintExpr, ...]
instance-attribute
__init__(num_dims: int, num_symbols: int, constraints: tuple[AffineConstraintExpr, ...]) -> None
__str__() -> str
Source code in xdsl/ir/affine/affine_set.py
50
51
52
53
54
55
56
57
58
59
60 | def __str__(self) -> str:
# Create comma seperated list of dims.
dims = ", ".join("d" + str(i) for i in range(self.num_dims))
# Create comma seperated list of symbols.
syms = ["s" + str(i) for i in range(self.num_symbols)]
syms = ", ".join(syms)
# Create comma seperated list of results.
constraints = ", ".join(str(cnstr) for cnstr in self.constraints)
if self.num_symbols == 0:
return f"({dims}) : ({constraints})"
return f"({dims})[{syms}] : ({constraints})"
|