islpy 2023.1.2__cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl → 2023.2.1__cp39-cp39-manylinux_2_17_i686.manylinux2014_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 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, 2)
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.2
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 (>=2) ; extra == 'test'
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-39-i386-linux-gnu.so,sha256=Zc9XORy2cIQ9QgKCZ1s8UUtNtVHMlW24WHZm1Rnp7oc,6964108
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=RuoIQF7XLnORFy_VhUm9oUqStPNjh_9uwhgKnzdm9WY,138
7
+ islpy-2023.2.1.dist-info/RECORD,,
8
+ islpy-2023.2.1.dist-info/top_level.txt,sha256=txVjJJ85Sa3IMOF6WOh_bTkOyRDWiSW2kQOf8vSPb6M,6
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.40.0)
2
+ Generator: skbuild 0.17.6
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp39-cp39-manylinux_2_17_i686
5
5
  Tag: cp39-cp39-manylinux2014_i686
@@ -1,8 +0,0 @@
1
- islpy-2023.1.2.dist-info/top_level.txt,sha256=txVjJJ85Sa3IMOF6WOh_bTkOyRDWiSW2kQOf8vSPb6M,6
2
- islpy-2023.1.2.dist-info/misc.rst,sha256=3C_u46XayaGn8Uk_gCYM6sRO0XNTNg9fYf4FBiAlaE8,6337
3
- islpy-2023.1.2.dist-info/WHEEL,sha256=fX5HDMqI1n4_juTRxG5cY3vmjMsGiKzB06CcHT5rST4,144
4
- islpy-2023.1.2.dist-info/RECORD,,
5
- islpy-2023.1.2.dist-info/METADATA,sha256=QBHQGw1tqTWkDJ7KhEgoLayr2kJc7Gq8xyizH5EDsSM,3132
6
- islpy/_isl.cpython-39-i386-linux-gnu.so,sha256=WIwK1ZhNn_6sWa_UTUt6nlZM49w0698O1Im3iEBHtbU,167892232
7
- islpy/__init__.py,sha256=DyutaAZO72ip5WALAQuYuHN24Tmqu_AC28MUe7BfXYQ,43484
8
- islpy/version.py,sha256=j6Ue1vP71a-YXx4X8z8J-8391u1jagJteI2OhXF2qqs,72