islpy 2023.1.2__cp38-cp38-musllinux_1_1_i686.whl → 2023.2.1__cp38-cp38-musllinux_1_1_i686.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 +11 -162
- islpy/_isl.cpython-38-i386-linux-gnu.so +0 -0
- islpy/version.py +1 -1
- {islpy-2023.1.2.dist-info → islpy-2023.2.1.dist-info}/METADATA +2 -2
- islpy-2023.2.1.dist-info/RECORD +8 -0
- {islpy-2023.1.2.dist-info → islpy-2023.2.1.dist-info}/WHEEL +1 -1
- islpy-2023.1.2.dist-info/RECORD +0 -10
- islpy.libs/libgcc_s-8b50eaaa.so.1 +0 -0
- islpy.libs/libstdc++-8baf04f9.so.6.0.28 +0 -0
- {islpy-2023.1.2.dist-info → islpy-2023.2.1.dist-info}/misc.rst +0 -0
- {islpy-2023.1.2.dist-info → islpy-2023.2.1.dist-info}/top_level.txt +0 -0
islpy/__init__.py
CHANGED
|
@@ -229,6 +229,15 @@ def _read_from_str_wrapper(cls, context, s, dims_with_apostrophes):
|
|
|
229
229
|
def _add_functionality():
|
|
230
230
|
import islpy._isl as _isl # noqa
|
|
231
231
|
|
|
232
|
+
# {{{ dim_type
|
|
233
|
+
|
|
234
|
+
def dim_type_reduce(v):
|
|
235
|
+
return (dim_type, (int(v),))
|
|
236
|
+
|
|
237
|
+
dim_type.__reduce__ = dim_type_reduce
|
|
238
|
+
|
|
239
|
+
# }}}
|
|
240
|
+
|
|
232
241
|
# {{{ Context
|
|
233
242
|
|
|
234
243
|
def context_reduce(self):
|
|
@@ -251,25 +260,6 @@ def _add_functionality():
|
|
|
251
260
|
|
|
252
261
|
# {{{ generic initialization, pickling
|
|
253
262
|
|
|
254
|
-
def obj_new(cls, s=None, context=None):
|
|
255
|
-
"""Construct a new object from :class:`str` s.
|
|
256
|
-
|
|
257
|
-
:arg context: a :class:`islpy.Context` to use. If not supplied, use a
|
|
258
|
-
global default context.
|
|
259
|
-
"""
|
|
260
|
-
if not isinstance(s, str):
|
|
261
|
-
return cls._prev_new(cls)
|
|
262
|
-
|
|
263
|
-
if context is None:
|
|
264
|
-
context = DEFAULT_CONTEXT
|
|
265
|
-
|
|
266
|
-
result = cls.read_from_str(context, s)
|
|
267
|
-
return result
|
|
268
|
-
|
|
269
|
-
def obj_bogus_init(self, s, context=None):
|
|
270
|
-
if not isinstance(s, str) and self._prev_init is not None:
|
|
271
|
-
self._prev_init(s)
|
|
272
|
-
|
|
273
263
|
def generic_reduce(self):
|
|
274
264
|
ctx = self.get_ctx()
|
|
275
265
|
prn = Printer.to_str(ctx)
|
|
@@ -287,10 +277,6 @@ def _add_functionality():
|
|
|
287
277
|
|
|
288
278
|
for cls in ALL_CLASSES:
|
|
289
279
|
if hasattr(cls, "read_from_str"):
|
|
290
|
-
cls._prev_new = cls.__new__
|
|
291
|
-
cls.__new__ = obj_new
|
|
292
|
-
cls._prev_init = getattr(cls, "__init__", None)
|
|
293
|
-
cls.__init__ = obj_bogus_init
|
|
294
280
|
cls.__reduce__ = generic_reduce
|
|
295
281
|
|
|
296
282
|
# }}}
|
|
@@ -535,20 +521,6 @@ def _add_functionality():
|
|
|
535
521
|
|
|
536
522
|
# {{{ Id
|
|
537
523
|
|
|
538
|
-
def id_new(cls, name, user=None, context=None):
|
|
539
|
-
if context is None:
|
|
540
|
-
context = DEFAULT_CONTEXT
|
|
541
|
-
|
|
542
|
-
result = cls.alloc(context, name, user)
|
|
543
|
-
result._made_from_python = True
|
|
544
|
-
return result
|
|
545
|
-
|
|
546
|
-
def id_bogus_init(self, name, user=None, context=None):
|
|
547
|
-
assert self._made_from_python
|
|
548
|
-
del self._made_from_python
|
|
549
|
-
|
|
550
|
-
Id.__new__ = staticmethod(id_new)
|
|
551
|
-
Id.__init__ = id_bogus_init
|
|
552
524
|
Id.user = property(Id.get_user)
|
|
553
525
|
Id.name = property(Id.get_name)
|
|
554
526
|
|
|
@@ -620,6 +592,7 @@ def _add_functionality():
|
|
|
620
592
|
return result
|
|
621
593
|
|
|
622
594
|
Set.get_basic_sets = set_get_basic_sets
|
|
595
|
+
BasicSet.get_basic_sets = set_get_basic_sets
|
|
623
596
|
|
|
624
597
|
# }}}
|
|
625
598
|
|
|
@@ -716,6 +689,7 @@ def _add_functionality():
|
|
|
716
689
|
return result
|
|
717
690
|
|
|
718
691
|
PwAff.get_pieces = pwaff_get_pieces
|
|
692
|
+
Aff.get_pieces = pwaff_get_pieces
|
|
719
693
|
PwAff.get_aggregate_domain = pw_get_aggregate_domain
|
|
720
694
|
|
|
721
695
|
PwQPolynomial.get_pieces = pwqpolynomial_get_pieces
|
|
@@ -845,24 +819,6 @@ def _add_functionality():
|
|
|
845
819
|
|
|
846
820
|
# {{{ Val
|
|
847
821
|
|
|
848
|
-
def val_new(cls, src, context=None):
|
|
849
|
-
if context is None:
|
|
850
|
-
context = DEFAULT_CONTEXT
|
|
851
|
-
|
|
852
|
-
if isinstance(src, str):
|
|
853
|
-
result = cls.read_from_str(context, src)
|
|
854
|
-
elif isinstance(src, int):
|
|
855
|
-
result = cls.int_from_si(context, src)
|
|
856
|
-
else:
|
|
857
|
-
raise TypeError("'src' must be int or string")
|
|
858
|
-
|
|
859
|
-
result._made_from_python = True
|
|
860
|
-
return result
|
|
861
|
-
|
|
862
|
-
def val_bogus_init(self, src, context=None):
|
|
863
|
-
assert self._made_from_python
|
|
864
|
-
del self._made_from_python
|
|
865
|
-
|
|
866
822
|
def val_rsub(self, other):
|
|
867
823
|
return -self + other
|
|
868
824
|
|
|
@@ -878,8 +834,6 @@ def _add_functionality():
|
|
|
878
834
|
|
|
879
835
|
return int(self.to_str())
|
|
880
836
|
|
|
881
|
-
Val.__new__ = staticmethod(val_new)
|
|
882
|
-
Val.__init__ = val_bogus_init
|
|
883
837
|
Val.__add__ = Val.add
|
|
884
838
|
Val.__radd__ = Val.add
|
|
885
839
|
Val.__sub__ = Val.sub
|
|
@@ -903,111 +857,6 @@ def _add_functionality():
|
|
|
903
857
|
|
|
904
858
|
# }}}
|
|
905
859
|
|
|
906
|
-
# {{{ add automatic 'self' upcasts
|
|
907
|
-
|
|
908
|
-
# note: automatic upcasts for method arguments are provided through
|
|
909
|
-
# 'implicitly_convertible' on the C++ side of the wrapper.
|
|
910
|
-
|
|
911
|
-
def make_new_upcast_wrapper(method, upcast):
|
|
912
|
-
# This function provides a scope in which method and upcast
|
|
913
|
-
# are not changed from one iteration of the enclosing for
|
|
914
|
-
# loop to the next.
|
|
915
|
-
|
|
916
|
-
def wrapper(basic_instance, *args, **kwargs):
|
|
917
|
-
special_instance = upcast(basic_instance)
|
|
918
|
-
return method(special_instance, *args, **kwargs)
|
|
919
|
-
|
|
920
|
-
return wrapper
|
|
921
|
-
|
|
922
|
-
def make_existing_upcast_wrapper(basic_method, special_method, upcast):
|
|
923
|
-
# This function provides a scope in which method and upcast
|
|
924
|
-
# are not changed from one iteration of the enclosing for
|
|
925
|
-
# loop to the next.
|
|
926
|
-
|
|
927
|
-
def wrapper(basic_instance, *args, **kwargs):
|
|
928
|
-
try:
|
|
929
|
-
return basic_method(basic_instance, *args, **kwargs)
|
|
930
|
-
except TypeError:
|
|
931
|
-
pass
|
|
932
|
-
|
|
933
|
-
special_instance = upcast(basic_instance)
|
|
934
|
-
return special_method(special_instance, *args, **kwargs)
|
|
935
|
-
|
|
936
|
-
return wrapper
|
|
937
|
-
|
|
938
|
-
def add_upcasts(basic_class, special_class, upcast_method):
|
|
939
|
-
from functools import update_wrapper
|
|
940
|
-
|
|
941
|
-
def my_ismethod(class_, method_name):
|
|
942
|
-
if method_name.startswith("_"):
|
|
943
|
-
return False
|
|
944
|
-
|
|
945
|
-
method = getattr(class_, method_name)
|
|
946
|
-
|
|
947
|
-
if not callable(method):
|
|
948
|
-
return False
|
|
949
|
-
|
|
950
|
-
# Here we're desperately trying to filter out static methods,
|
|
951
|
-
# based on what seems to be a common feature.
|
|
952
|
-
if any("builtin_function_or_method" in meth_superclass.__name__
|
|
953
|
-
for meth_superclass in type(method).__mro__):
|
|
954
|
-
return False
|
|
955
|
-
|
|
956
|
-
return True
|
|
957
|
-
|
|
958
|
-
for method_name in dir(special_class):
|
|
959
|
-
special_method = getattr(special_class, method_name)
|
|
960
|
-
|
|
961
|
-
if not my_ismethod(special_class, method_name):
|
|
962
|
-
continue
|
|
963
|
-
|
|
964
|
-
if hasattr(basic_class, method_name):
|
|
965
|
-
# method already exists in basic class
|
|
966
|
-
basic_method = getattr(basic_class, method_name)
|
|
967
|
-
|
|
968
|
-
if not my_ismethod(basic_class, method_name):
|
|
969
|
-
continue
|
|
970
|
-
|
|
971
|
-
wrapper = make_existing_upcast_wrapper(
|
|
972
|
-
basic_method, special_method, upcast_method)
|
|
973
|
-
setattr(
|
|
974
|
-
basic_class, method_name,
|
|
975
|
-
update_wrapper(wrapper, basic_method))
|
|
976
|
-
else:
|
|
977
|
-
# method does not yet exists in basic class
|
|
978
|
-
|
|
979
|
-
wrapper = make_new_upcast_wrapper(special_method, upcast_method)
|
|
980
|
-
setattr(
|
|
981
|
-
basic_class, method_name,
|
|
982
|
-
update_wrapper(wrapper, special_method))
|
|
983
|
-
|
|
984
|
-
for args_triple in [
|
|
985
|
-
(BasicSet, Set, Set.from_basic_set),
|
|
986
|
-
(Set, UnionSet, UnionSet.from_set),
|
|
987
|
-
(BasicSet, UnionSet, lambda x: UnionSet.from_set(Set.from_basic_set(x))),
|
|
988
|
-
|
|
989
|
-
(BasicMap, Map, Map.from_basic_map),
|
|
990
|
-
(Map, UnionMap, UnionMap.from_map),
|
|
991
|
-
(BasicMap, UnionMap, lambda x: UnionMap.from_map(Map.from_basic_map(x))),
|
|
992
|
-
|
|
993
|
-
(Aff, PwAff, PwAff.from_aff),
|
|
994
|
-
(PwAff, UnionPwAff, UnionPwAff.from_pw_aff),
|
|
995
|
-
(Aff, UnionPwAff, UnionPwAff.from_aff),
|
|
996
|
-
|
|
997
|
-
(MultiAff, PwMultiAff, PwMultiAff.from_multi_aff),
|
|
998
|
-
(PwMultiAff, UnionPwMultiAff, UnionPwMultiAff.from_pw_multi_aff),
|
|
999
|
-
(MultiAff, UnionPwMultiAff, UnionPwMultiAff.from_multi_aff),
|
|
1000
|
-
|
|
1001
|
-
(Space, LocalSpace, LocalSpace.from_space),
|
|
1002
|
-
]:
|
|
1003
|
-
add_upcasts(*args_triple)
|
|
1004
|
-
|
|
1005
|
-
# }}}
|
|
1006
|
-
|
|
1007
|
-
# ORDERING DEPENDENCY: The availability of some of the 'is_equal'
|
|
1008
|
-
# used by rich comparison below depends on the self upcasts created
|
|
1009
|
-
# above.
|
|
1010
|
-
|
|
1011
860
|
# {{{ rich comparisons
|
|
1012
861
|
|
|
1013
862
|
def obj_eq(self, other):
|
|
Binary file
|
islpy/version.py
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
VERSION = (2023,
|
|
1
|
+
VERSION = (2023, 2, 1)
|
|
2
2
|
VERSION_TEXT = ".".join(str(i) for i in VERSION)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: islpy
|
|
3
|
-
Version: 2023.1
|
|
3
|
+
Version: 2023.2.1
|
|
4
4
|
Summary: Wrapper around isl, an integer set library
|
|
5
5
|
Home-page: http://documen.tician.de/islpy
|
|
6
6
|
Author: Andreas Kloeckner
|
|
@@ -24,7 +24,7 @@ Classifier: Topic :: Software Development :: Libraries
|
|
|
24
24
|
Requires-Python: ~=3.8
|
|
25
25
|
License-File: doc/misc.rst
|
|
26
26
|
Provides-Extra: test
|
|
27
|
-
Requires-Dist: pytest
|
|
27
|
+
Requires-Dist: pytest >=2 ; extra == 'test'
|
|
28
28
|
|
|
29
29
|
islpy: Polyhedral Analysis from Python
|
|
30
30
|
======================================
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
islpy/_isl.cpython-38-i386-linux-gnu.so,sha256=pkS2q79nrkUJt2JzeO4wU_ALZgQWBY0ZcZPKODSvFeY,7681224
|
|
2
|
+
islpy/__init__.py,sha256=hWsa1KSQyZCFwaoN0e7jEigogL9Lq3NK87kXg9Tmivk,38007
|
|
3
|
+
islpy/version.py,sha256=iIydLYaVSqS5L_LrIcNTSoqzVax-xO-GYJSL3pFtcpU,72
|
|
4
|
+
islpy-2023.2.1.dist-info/METADATA,sha256=WqcylEYSA9pcXhNQyzn0BoGyg7t1bxWWYrGsw4-tN2E,3130
|
|
5
|
+
islpy-2023.2.1.dist-info/misc.rst,sha256=3C_u46XayaGn8Uk_gCYM6sRO0XNTNg9fYf4FBiAlaE8,6337
|
|
6
|
+
islpy-2023.2.1.dist-info/WHEEL,sha256=ofBeWCDG1bJ0ZAX0ZtTYjxX9XMFjk3ZqX6JzRYVtnzg,103
|
|
7
|
+
islpy-2023.2.1.dist-info/RECORD,,
|
|
8
|
+
islpy-2023.2.1.dist-info/top_level.txt,sha256=txVjJJ85Sa3IMOF6WOh_bTkOyRDWiSW2kQOf8vSPb6M,6
|
islpy-2023.1.2.dist-info/RECORD
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
islpy.libs/libstdc++-8baf04f9.so.6.0.28,sha256=yrzOxg1heyJ9Y-43YCLLn04Cpl_A68FN0D2Q1iBTMcY,2428961
|
|
2
|
-
islpy.libs/libgcc_s-8b50eaaa.so.1,sha256=WXj_FYQE1MDIyb-nN8siUALdxit6NHma0p9UxemQV8o,101649
|
|
3
|
-
islpy-2023.1.2.dist-info/top_level.txt,sha256=txVjJJ85Sa3IMOF6WOh_bTkOyRDWiSW2kQOf8vSPb6M,6
|
|
4
|
-
islpy-2023.1.2.dist-info/misc.rst,sha256=3C_u46XayaGn8Uk_gCYM6sRO0XNTNg9fYf4FBiAlaE8,6337
|
|
5
|
-
islpy-2023.1.2.dist-info/WHEEL,sha256=AzTfZhUr1bOZGZXMYskJq79E2A5aHofIOnA44h3KiKU,109
|
|
6
|
-
islpy-2023.1.2.dist-info/RECORD,,
|
|
7
|
-
islpy-2023.1.2.dist-info/METADATA,sha256=QBHQGw1tqTWkDJ7KhEgoLayr2kJc7Gq8xyizH5EDsSM,3132
|
|
8
|
-
islpy/_isl.cpython-38-i386-linux-gnu.so,sha256=I1X6qRbIZ1iy0B5ap6BD8JXG08aDWukOH6adD9LK1T4,168640185
|
|
9
|
-
islpy/__init__.py,sha256=DyutaAZO72ip5WALAQuYuHN24Tmqu_AC28MUe7BfXYQ,43484
|
|
10
|
-
islpy/version.py,sha256=j6Ue1vP71a-YXx4X8z8J-8391u1jagJteI2OhXF2qqs,72
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|