islpy 2025.2.1__cp313-cp313-musllinux_1_2_aarch64.whl → 2025.2.2__cp313-cp313-musllinux_1_2_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- islpy/__init__.py +18 -28
- islpy/_isl.cpython-313-aarch64-linux-musl.so +0 -0
- islpy/_isl.pyi +8 -6
- islpy/_monkeypatch.py +2 -0
- {islpy-2025.2.1.dist-info → islpy-2025.2.2.dist-info}/METADATA +1 -1
- islpy-2025.2.2.dist-info/RECORD +9 -0
- islpy-2025.2.1.dist-info/RECORD +0 -9
- {islpy-2025.2.1.dist-info → islpy-2025.2.2.dist-info}/WHEEL +0 -0
islpy/__init__.py
CHANGED
@@ -21,7 +21,7 @@ THE SOFTWARE.
|
|
21
21
|
"""
|
22
22
|
|
23
23
|
from collections.abc import Collection, Sequence
|
24
|
-
from typing import Literal, TypeAlias, TypeVar
|
24
|
+
from typing import Literal, TypeAlias, TypeVar, cast
|
25
25
|
|
26
26
|
from islpy.version import VERSION, VERSION_TEXT
|
27
27
|
|
@@ -149,44 +149,34 @@ def _get_default_context() -> Context:
|
|
149
149
|
return DEFAULT_CONTEXT
|
150
150
|
|
151
151
|
|
152
|
-
def
|
153
|
-
|
154
|
-
|
155
|
-
|
152
|
+
def _set_dim_id(obj: AlignableT, dt: dim_type, idx: int, id: Id) -> AlignableT:
|
153
|
+
if isinstance(obj, BasicSet):
|
154
|
+
p, = obj.to_set().set_dim_id(dt, idx, id).get_basic_sets()
|
155
|
+
return cast("AlignableT", p)
|
156
|
+
elif isinstance(obj, BasicMap):
|
157
|
+
p, = obj.to_map().set_dim_id(dt, idx, id).get_basic_maps()
|
158
|
+
return cast("AlignableT", p)
|
156
159
|
|
157
|
-
|
158
|
-
bset = BasicSet.universe(new_obj.space).complement()
|
159
|
-
else:
|
160
|
-
bset, = bsets
|
161
|
-
|
162
|
-
return bset
|
163
|
-
|
164
|
-
if isinstance(old_obj, BasicMap) and isinstance(new_obj, Map):
|
165
|
-
bmaps = new_obj.get_basic_maps()
|
166
|
-
|
167
|
-
if len(bmaps) == 0:
|
168
|
-
bmap = BasicMap.universe(new_obj.space).complement()
|
169
|
-
else:
|
170
|
-
bmap, = bmaps
|
171
|
-
|
172
|
-
return bmap
|
173
|
-
|
174
|
-
return new_obj
|
175
|
-
|
176
|
-
|
177
|
-
def _set_dim_id(obj, dt, idx, id):
|
178
|
-
return _back_to_basic(obj.set_dim_id(dt, idx, id), obj)
|
160
|
+
return cast("AlignableT", obj.set_dim_id(dt, idx, id))
|
179
161
|
|
180
162
|
|
181
163
|
def _align_dim_type(
|
182
164
|
template_dt: dim_type,
|
183
165
|
obj: AlignableT,
|
184
|
-
template:
|
166
|
+
template: Alignable,
|
185
167
|
obj_bigger_ok: bool,
|
186
168
|
obj_names: Collection[str],
|
187
169
|
template_names: Collection[str],
|
188
170
|
) -> AlignableT:
|
189
171
|
|
172
|
+
# convert to a type that has get_dim_id
|
173
|
+
if isinstance(template, BasicSet):
|
174
|
+
template = template.to_set()
|
175
|
+
elif isinstance(template, BasicMap):
|
176
|
+
template = template.to_map()
|
177
|
+
elif isinstance(template, Aff):
|
178
|
+
template = template.to_pw_aff()
|
179
|
+
|
190
180
|
# {{{ deal with Aff, PwAff
|
191
181
|
|
192
182
|
# The technique below will not work for PwAff et al, because there is *only*
|
Binary file
|
islpy/_isl.pyi
CHANGED
@@ -2151,6 +2151,8 @@ class FixedBox:
|
|
2151
2151
|
class Aff:
|
2152
2152
|
def __init__(self, s: str, context: Context | None = None) -> None: ...
|
2153
2153
|
|
2154
|
+
def to_pw_aff(self) -> PwAff: ...
|
2155
|
+
|
2154
2156
|
@staticmethod
|
2155
2157
|
def zero_on_domain_space(space: Space) -> Aff: ...
|
2156
2158
|
|
@@ -4931,6 +4933,10 @@ class LocalSpace:
|
|
4931
4933
|
class BasicSet:
|
4932
4934
|
def __init__(self, s: str, context: Context | None = None) -> None: ...
|
4933
4935
|
|
4936
|
+
def __hash__(self) -> int: ...
|
4937
|
+
|
4938
|
+
def is_params(self) -> bool: ...
|
4939
|
+
|
4934
4940
|
def n_dim(self) -> int: ...
|
4935
4941
|
|
4936
4942
|
def n_param(self) -> int: ...
|
@@ -5311,8 +5317,6 @@ class BasicSet:
|
|
5311
5317
|
|
5312
5318
|
def involves_locals(self) -> bool: ...
|
5313
5319
|
|
5314
|
-
def is_params(self) -> bool: ...
|
5315
|
-
|
5316
5320
|
@overload
|
5317
5321
|
def is_strict_subset(self, set2: Set | BasicSet) -> bool: ...
|
5318
5322
|
|
@@ -5365,8 +5369,6 @@ class BasicSet:
|
|
5365
5369
|
|
5366
5370
|
def plain_is_disjoint(self, set2: Set | BasicSet) -> bool: ...
|
5367
5371
|
|
5368
|
-
def __hash__(self) -> int: ...
|
5369
|
-
|
5370
5372
|
def n_basic_set(self) -> int: ...
|
5371
5373
|
|
5372
5374
|
def foreach_basic_set(self, fn: Callable[[BasicSet], None]) -> None: ...
|
@@ -5504,6 +5506,8 @@ class BasicSet:
|
|
5504
5506
|
class BasicMap:
|
5505
5507
|
def __init__(self, s: str, context: Context | None = None) -> None: ...
|
5506
5508
|
|
5509
|
+
def __hash__(self) -> int: ...
|
5510
|
+
|
5507
5511
|
def to_map(self) -> Map: ...
|
5508
5512
|
|
5509
5513
|
def total_dim(self) -> int: ...
|
@@ -6108,8 +6112,6 @@ class BasicMap:
|
|
6108
6112
|
|
6109
6113
|
def plain_is_equal(self, map2: Map | BasicMap) -> bool: ...
|
6110
6114
|
|
6111
|
-
def __hash__(self) -> int: ...
|
6112
|
-
|
6113
6115
|
def n_basic_map(self) -> int: ...
|
6114
6116
|
|
6115
6117
|
def foreach_basic_map(self, fn: Callable[[BasicMap], None]) -> None: ...
|
islpy/_monkeypatch.py
CHANGED
@@ -551,6 +551,8 @@ def obj_get_var_names(self: HasSpace, dimtype: _isl.dim_type) -> Sequence[str]:
|
|
551
551
|
|
552
552
|
|
553
553
|
def pwaff_get_pieces(self: _isl.PwAff | _isl.Aff) -> list[tuple[_isl.Set, _isl.Aff]]:
|
554
|
+
if isinstance(self, _isl.Aff):
|
555
|
+
self = self.to_pw_aff()
|
554
556
|
result: list[tuple[_isl.Set, _isl.Aff]] = []
|
555
557
|
|
556
558
|
def append_tuple(s: _isl.Set, v: _isl.Aff):
|
@@ -0,0 +1,9 @@
|
|
1
|
+
islpy/__init__.py,sha256=di9XuiCE0E17rYvJF2odx710bD4X07gsKGWDW6oSgH0,13021
|
2
|
+
islpy/_isl.cpython-313-aarch64-linux-musl.so,sha256=Rnqt6VDdThLD-HsLv6ltaM9aBY1QucVC33WcmuLU3LQ,9380480
|
3
|
+
islpy/_isl.pyi,sha256=_QvIK3y21H8sud47dr3bBOfxkSONwZzxV1x09WIxtRQ,260121
|
4
|
+
islpy/_monkeypatch.py,sha256=J_EIwyHBinfCo_rBu1V9o1OzG9R3dE34lJ0XIMOJSQ4,31309
|
5
|
+
islpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
|
+
islpy/version.py,sha256=9KVEg7OX9uCaA6ElUMeiAh-zDrxsy3u2H6VQm_-LTUE,301
|
7
|
+
islpy-2025.2.2.dist-info/METADATA,sha256=Us2hmRlX7V2rNYGp3pg3ZEqYgbSbuzNYT7IIHd9dbT4,2966
|
8
|
+
islpy-2025.2.2.dist-info/WHEEL,sha256=nPmRuBki6Ky4sUv2bbaaTShVA2NSqgE6lNez5LF1-6Y,118
|
9
|
+
islpy-2025.2.2.dist-info/RECORD,,
|
islpy-2025.2.1.dist-info/RECORD
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
islpy/__init__.py,sha256=6In7YFiBLKNNVIGkpKMiB1H_-H2OQ5ovlqJ_Tz0nAvA,13073
|
2
|
-
islpy/_isl.cpython-313-aarch64-linux-musl.so,sha256=PIbmdhvTky3gRhyHRR9-GrqtS8gLyc9x7-kgAehiams,9380480
|
3
|
-
islpy/_isl.pyi,sha256=dAYJ9hZ0HrpMnUHdruE6cOvKU_Px2kZ7qr6YFDZ-Z-0,260082
|
4
|
-
islpy/_monkeypatch.py,sha256=NrSQHBRxIVzSuYa2qR_oSnxRoJxVbu-l_Sv1AZcvE0Q,31242
|
5
|
-
islpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
|
-
islpy/version.py,sha256=9KVEg7OX9uCaA6ElUMeiAh-zDrxsy3u2H6VQm_-LTUE,301
|
7
|
-
islpy-2025.2.1.dist-info/METADATA,sha256=rKg9uyDgpaAp2mbvRv2YzFS9seQzhA1jjw75gcTmQvg,2966
|
8
|
-
islpy-2025.2.1.dist-info/WHEEL,sha256=nPmRuBki6Ky4sUv2bbaaTShVA2NSqgE6lNez5LF1-6Y,118
|
9
|
-
islpy-2025.2.1.dist-info/RECORD,,
|
File without changes
|