islpy 2023.2.5__cp312-cp312-macosx_11_0_arm64.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.
Binary file
islpy/version.py ADDED
@@ -0,0 +1,2 @@
1
+ VERSION = (2023, 2, 5)
2
+ VERSION_TEXT = ".".join(str(i) for i in VERSION)
@@ -0,0 +1,74 @@
1
+ Metadata-Version: 2.1
2
+ Name: islpy
3
+ Version: 2023.2.5
4
+ Summary: Wrapper around isl, an integer set library
5
+ Home-page: http://documen.tician.de/islpy
6
+ Author: Andreas Kloeckner
7
+ Author-email: inform@tiker.net
8
+ License: MIT
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Intended Audience :: Other Audience
12
+ Classifier: Intended Audience :: Science/Research
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Natural Language :: English
15
+ Classifier: Programming Language :: C++
16
+ Classifier: Programming Language :: Python
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Topic :: Multimedia :: Graphics :: 3D Modeling
19
+ Classifier: Topic :: Scientific/Engineering
20
+ Classifier: Topic :: Scientific/Engineering :: Mathematics
21
+ Classifier: Topic :: Scientific/Engineering :: Physics
22
+ Classifier: Topic :: Scientific/Engineering :: Visualization
23
+ Classifier: Topic :: Software Development :: Libraries
24
+ Requires-Python: ~=3.8
25
+ License-File: doc/misc.rst
26
+ Provides-Extra: test
27
+ Requires-Dist: pytest >=2 ; extra == 'test'
28
+
29
+ islpy: Polyhedral Analysis from Python
30
+ ======================================
31
+
32
+ .. image:: https://gitlab.tiker.net/inducer/islpy/badges/main/pipeline.svg
33
+ :alt: Gitlab Build Status
34
+ :target: https://gitlab.tiker.net/inducer/islpy/commits/main
35
+ .. image:: https://github.com/inducer/islpy/workflows/CI/badge.svg?branch=main&event=push
36
+ :alt: Github Build Status
37
+ :target: https://github.com/inducer/islpy/actions?query=branch%3Amain+workflow%3ACI+event%3Apush
38
+ .. image:: https://badge.fury.io/py/islpy.svg
39
+ :alt: Python Package Index Release Page
40
+ :target: https://pypi.org/project/islpy/
41
+ .. image:: https://zenodo.org/badge/2021524.svg
42
+ :alt: Zenodo DOI for latest release
43
+ :target: https://zenodo.org/badge/latestdoi/2021524
44
+
45
+ islpy is a Python wrapper around Sven Verdoolaege's `isl
46
+ <https://libisl.sourceforge.io/>`_, a library for manipulating sets and
47
+ relations of integer points bounded by linear constraints.
48
+
49
+ Supported operations on sets include
50
+
51
+ * intersection, union, set difference,
52
+ * emptiness check,
53
+ * convex hull,
54
+ * (integer) affine hull,
55
+ * integer projection,
56
+ * computing the lexicographic minimum using parametric integer programming,
57
+ * coalescing, and
58
+ * parametric vertex enumeration.
59
+
60
+ It also includes an ILP solver based on generalized basis reduction, transitive
61
+ closures on maps (which may encode infinite graphs), dependence analysis and
62
+ bounds on piecewise step-polynomials.
63
+
64
+ Islpy comes with comprehensive `documentation <http://documen.tician.de/islpy>`_.
65
+
66
+ *Requirements:* islpy needs a C++ compiler to build. It can optionally make use
67
+ of GMP for support of large integers.
68
+
69
+ One important thing to know about islpy is that it exposes every function in isl
70
+ that is visible in the headers, not just what isl's authors consider its
71
+ documented, public API (marked by ``__isl_export``). These (technically)
72
+ undocumented functions are marked in the islpy documentation. Many of them are useful
73
+ and essential for certain operations, but isl's API stability guarantees do not
74
+ apply to them. Use them at your own risk.
@@ -0,0 +1,8 @@
1
+ islpy-2023.2.5.dist-info/RECORD,,
2
+ islpy-2023.2.5.dist-info/WHEEL,sha256=cfKgMoSp-zPJrSoNUeQfajxX7iB5ANGzAzCvv8m61gI,104
3
+ islpy-2023.2.5.dist-info/misc.rst,sha256=3C_u46XayaGn8Uk_gCYM6sRO0XNTNg9fYf4FBiAlaE8,6337
4
+ islpy-2023.2.5.dist-info/top_level.txt,sha256=txVjJJ85Sa3IMOF6WOh_bTkOyRDWiSW2kQOf8vSPb6M,6
5
+ islpy-2023.2.5.dist-info/METADATA,sha256=LC2vLMgDsmZBSBVPmNMRQiS1FkAp3jbMas7ZUT4eEYk,3130
6
+ islpy/_isl.cpython-312-darwin.so,sha256=4bggZfdjwgFK3YzdcZW89oy_n-p9w_xRAJHizPwc5Q4,8174439
7
+ islpy/version.py,sha256=8BXi4fZjCnlQnuRoYEZfbM9C__EJ5sBNVNVsjYmWgzI,72
8
+ islpy/__init__.py,sha256=hWsa1KSQyZCFwaoN0e7jEigogL9Lq3NK87kXg9Tmivk,38007
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: skbuild 0.17.6
3
+ Root-Is-Purelib: false
4
+ Tag: cp312-cp312-macosx_11_0_arm64
5
+
@@ -0,0 +1,207 @@
1
+ Installation
2
+ ============
3
+
4
+ This command should install :mod:`islpy`::
5
+
6
+ pip install islpy
7
+
8
+ You may need to run this with :command:`sudo`.
9
+ If you don't already have `pip <https://pypi.python.org/pypi/pip>`_,
10
+ run this beforehand::
11
+
12
+ curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
13
+ python get-pip.py
14
+
15
+ For a more manual installation, `download the source
16
+ <http://pypi.python.org/pypi/islpy>`_, unpack it, and say::
17
+
18
+ python setup.py install
19
+
20
+ You may also clone its git repository::
21
+
22
+ git clone --recursive http://git.tiker.net/trees/islpy.git
23
+ git clone --recursive git://github.com/inducer/islpy
24
+
25
+ Wiki and FAQ
26
+ ============
27
+
28
+ A `wiki page <http://wiki.tiker.net/IslPy>`_ is also available, where install
29
+ instructions and an FAQ will grow over time.
30
+
31
+ For a mailing list, please consider using the `isl list
32
+ <http://groups.google.com/group/isl-development>`_ until they tell us to get
33
+ lost.
34
+
35
+ License
36
+ =======
37
+
38
+ islpy is licensed to you under the MIT/X Consortium license:
39
+
40
+ Copyright (c) 2011 Andreas Klöckner and Contributors.
41
+
42
+ Permission is hereby granted, free of charge, to any person
43
+ obtaining a copy of this software and associated documentation
44
+ files (the "Software"), to deal in the Software without
45
+ restriction, including without limitation the rights to use,
46
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
47
+ copies of the Software, and to permit persons to whom the
48
+ Software is furnished to do so, subject to the following
49
+ conditions:
50
+
51
+ The above copyright notice and this permission notice shall be
52
+ included in all copies or substantial portions of the Software.
53
+
54
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
55
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
56
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
57
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
58
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
59
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
60
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
61
+ OTHER DEALINGS IN THE SOFTWARE.
62
+
63
+ .. note::
64
+
65
+ * isl and imath, which islpy depends on, are also licensed under the `MIT
66
+ license <http://repo.or.cz/w/isl.git/blob/HEAD:/LICENSE>`_.
67
+
68
+ * GMP, which used to be a dependency of isl and thus islpy, is no longer
69
+ required. (but building against it can optionally be requested)
70
+
71
+ Relation with isl's C interface
72
+ ===============================
73
+
74
+ Nearly all of the bindings to isl are auto-generated, using the following
75
+ rules:
76
+
77
+ * Follow :pep:`8`.
78
+ * Expose the underlying object-oriented structure.
79
+ * Remove the `isl_` and `ISL_` prefixes from data types, macros and
80
+ function names, replace them with Python namespaces.
81
+ * A method `isl_printer_print_set` would thus become
82
+ :meth:`islpy.Printer.print_set`.
83
+
84
+ See also :ref:`gen-remarks`.
85
+
86
+ User-visible Changes
87
+ ====================
88
+
89
+ Version 2016.2
90
+ --------------
91
+ .. note::
92
+
93
+ This version is currently in development and can be obtained from
94
+ islpy's version control.
95
+
96
+ * Update for isl 0.17
97
+ * Add :func:`islpy.make_zero_and_vars`
98
+
99
+ Version 2016.1.1
100
+ ----------------
101
+
102
+ * Add :func:`islpy.make_zero_and_vars`
103
+ * Do not turn on small-integer optimization by default
104
+ (to avoid build trouble on old compilers)
105
+
106
+ Version 2016.1
107
+ --------------
108
+
109
+ * Update for isl 0.16
110
+
111
+ Version 2014.2.1
112
+ ----------------
113
+
114
+ * :mod:`islpy` now avoids using 2to3 for Python 3 compatibility.
115
+
116
+ Version 2014.2
117
+ --------------
118
+
119
+ * A large number of previously unavailable functions are now exposed.
120
+
121
+ * Sebastian Pop's `imath <https://github.com/creachadair/imath>`__ support has
122
+ been merged into the version of isl that ships with :mod:`islpy`. This means
123
+ that unless a user specifically requests a build against GMP, :mod:`islpy`
124
+ is (a) entirely self-contained and depends only on a C++ compiler and
125
+ (b) is entirely MIT-licensed by default.
126
+
127
+ Version 2014.1
128
+ --------------
129
+
130
+ * Many classes are now picklable.
131
+
132
+ * isl's handling of integer's has changed, forcing islpy to make
133
+ incompatible changes as well.
134
+
135
+ Now :class:`islpy.Val` is used to represent all numbers going
136
+ into and out of :mod:`islpy`. ``gmpy`` is no longer a dependency
137
+ of :mod:`islpy`. The following rules apply for this interface change:
138
+
139
+ * You can pass (up to ``long int``-sized) integers to methods of
140
+ isl objects without manual conversion to :class:`islpy.Val`.
141
+ For larger numbers, you need to convert manually for now.
142
+
143
+ * All numbers returned from :mod:`islpy` will be of type :class:`islpy.Val`.
144
+ If they are integers, they can be converted
145
+
146
+ * Since upstream made the decision to make ``isl_XXX_do_something_val``
147
+ not always semantically equivalent to ``isl_XXX_do_something``, the
148
+ old functions were removed.
149
+
150
+ One example of this is ``isl_aff_get_constant``, which returned just
151
+ the constant, and ``isl_aff_get_constant_val``, which returns the
152
+ constant divided by the :class:`islpy.Aff`'s denominator as a rational
153
+ value.
154
+
155
+ Version 2011.3
156
+ --------------
157
+
158
+ * Add :meth:`islpy.Set.project_out_except` and friends.
159
+ * Add ``islpy.Set.remove_divs_of_dim_type`` and friends.
160
+ * ``islpy.Dim`` was renamed to :class:`islpy.Space` in isl.
161
+ * ``islpy.Div`` was removed and replaced by :class:`islpy.Aff`
162
+ wherever it was used previously.
163
+ * ``islpy.BasicSet.as_set`
164
+ and
165
+ ``islpy.BasicMap.as_map``
166
+ were removed.
167
+ * :ref:`automatic-casts` were added.
168
+ * Support for more Python :class:`set`-like behavior was added. In particular,
169
+ the operators `|`, `&', '-', `<`, `<=`, `>`, `>=`, `==`, `!=` work as expected.
170
+ * Support direct construction from string for objects that have a `read_from_str`
171
+ method.
172
+ * The constant in a :class:`islpy.Constraint` is now set as the '1'
173
+ key in a coefficient dictionary in
174
+ :meth:`islpy.Constraint.eq_from_names`,
175
+ :meth:`islpy.Constraint.ineq_from_names`, and
176
+ :meth:`islpy.Constraint.set_coefficients_by_name`.
177
+
178
+ Version 2011.2
179
+ --------------
180
+
181
+ * Switch to copy-by-default semantics.
182
+ * A few changes in Python-side functionality.
183
+ * Automatic type promotion in 'self' argument.
184
+
185
+ Version 2011.1
186
+ --------------
187
+
188
+ * Initial release.
189
+
190
+ Documentation Cross-References
191
+ ------------------------------
192
+
193
+ .. class:: unsigned
194
+
195
+ See :class:`int`.
196
+
197
+ .. class:: long
198
+
199
+ See :class:`int`.
200
+
201
+ .. class:: size_t
202
+
203
+ See :class:`int`.
204
+
205
+ .. class:: double
206
+
207
+ See :class:`float`.
@@ -0,0 +1 @@
1
+ islpy