Skip to content

Commit 551489c

Browse files
authored
Merge pull request #47 from inducer/doc-fixes-2
Doc fixes 2
2 parents 9a00818 + ced98ec commit 551489c

File tree

7 files changed

+248
-187
lines changed

7 files changed

+248
-187
lines changed

.github/workflows/ci.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,4 +92,33 @@ jobs:
9292
build_py_project_in_venv
9393
build_docs
9494
95+
downstream_tests:
96+
strategy:
97+
matrix:
98+
downstream_project: [loopy]
99+
name: Tests for downstream project ${{ matrix.downstream_project }}
100+
runs-on: ubuntu-latest
101+
steps:
102+
- uses: actions/checkout@v2
103+
- name: "Main Script"
104+
env:
105+
DOWNSTREAM_PROJECT: ${{ matrix.downstream_project }}
106+
run: |
107+
git clone "https://github.com/inducer/$DOWNSTREAM_PROJECT.git"
108+
cd "$DOWNSTREAM_PROJECT"
109+
echo "*** $DOWNSTREAM_PROJECT version: $(git rev-parse --short HEAD)"
110+
111+
sed -i "/egg=islpy/ c git+file://$(readlink -f ..)#egg=islpy" requirements.txt
112+
sed -i '/islpy/ d' .test-conda-env-py3.yml
113+
114+
export CONDA_ENVIRONMENT=.test-conda-env-py3.yml
115+
116+
# Avoid slow or complicated tests in downstream projects
117+
export PYTEST_ADDOPTS="-k 'not (slowtest or octave or mpi)'"
118+
119+
curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/ci-support.sh
120+
. ./ci-support.sh
121+
build_py_project_in_conda_env
122+
test_py_project
123+
95124
# vim: sw=4

doc/conf.py

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
# serve to show the default.
1313

1414
#import sys, os
15+
import re
1516

1617
# If extensions (or modules to document with autodoc) are in another directory,
1718
# add these directories to sys.path here. If the directory is relative to the
@@ -142,24 +143,42 @@ def autodoc_process_docstring(app, what, name, obj, options, lines):
142143
if any("Members" in ln for ln in lines):
143144
del lines[:]
144145

146+
arg_list_re = re.compile(r"^([a-zA-Z0-9_]+)\((.*?)\)")
147+
145148
from inspect import isclass, isroutine
146149
UNDERSCORE_WHITELIST = ["__len__", "__hash__", "__eq__", "__ne__"] # noqa: N806
147150
if isclass(obj) and obj.__name__[0].isupper():
148151
methods = [nm for nm in dir(obj)
149152
if isroutine(getattr(obj, nm))
150153
and (not nm.startswith("_") or nm in UNDERSCORE_WHITELIST)]
151154

152-
def gen_method_string(meth):
153-
result = ":meth:`%s`" % meth
154-
if getattr(obj, "_" + meth + "_is_static", False):
155-
result += " (static)"
155+
def gen_method_string(meth_name):
156+
try:
157+
result = ":meth:`%s`" % meth_name
158+
meth_obj = getattr(obj, meth_name)
159+
if meth_obj.__doc__ is None:
160+
return result
161+
162+
doc_match = arg_list_re.match(meth_obj.__doc__)
163+
if doc_match is None:
164+
#print(f"'{meth_obj.__doc__}' did not match arg list RE")
165+
return result
166+
167+
arg_list = doc_match.group(2).split(", ")
168+
169+
if "self" not in arg_list:
170+
result += " (static)"
156171

157-
return result
172+
return result
173+
except Exception:
174+
from traceback import print_exc
175+
print_exc()
176+
raise
158177

159178
if methods:
160-
lines[:] = [".. hlist::", " :columns: 3", ""] + [
161-
" * "+gen_method_string(meth)
162-
for meth in methods] + lines
179+
lines[:] = [".. hlist::", " :columns: 2", ""] + [
180+
" * "+gen_method_string(meth_name)
181+
for meth_name in methods] + lines
163182

164183
for nm in methods:
165184
underscore_autodoc = []

doc/index.rst

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,11 @@ an idea.
6363
misc
6464
reference
6565
ref_fundamental
66+
ref_expr
67+
ref_set
68+
ref_geo
6669
ref_ast
67-
ref_flow.rst
70+
ref_flow
6871
ref_schedule
6972
ref_containers
7073
🚀 Github <https://github.com/inducer/islpy>

doc/ref_expr.rst

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
Reference: Expression-like Objects
2+
==================================
3+
4+
.. currentmodule:: islpy
5+
6+
Quasi-Affine Expressions
7+
^^^^^^^^^^^^^^^^^^^^^^^^
8+
9+
Quasi-Affine Expression
10+
-----------------------
11+
12+
.. autoclass:: Aff
13+
:members:
14+
15+
Piecewise Quasi-Affine Expression
16+
---------------------------------
17+
18+
.. autoclass:: PwAff
19+
:members:
20+
21+
Union of Piecewise Quasi-Affine Expressions
22+
-------------------------------------------
23+
24+
.. autoclass:: UnionPwAff
25+
:members:
26+
27+
Multiple Union of Piecewise Quasi-Affine Expressions
28+
----------------------------------------------------
29+
30+
.. autoclass:: MultiUnionPwAff
31+
:members:
32+
33+
34+
Multiple Affine Expressions
35+
^^^^^^^^^^^^^^^^^^^^^^^^^^^
36+
37+
Multiple Affine Expression
38+
--------------------------
39+
40+
.. autoclass:: MultiAff
41+
:members:
42+
43+
Piecewise Multiple Affine Expression
44+
------------------------------------
45+
46+
.. autoclass:: PwMultiAff
47+
:members:
48+
49+
Multiple Piecewise Affine Expression
50+
------------------------------------
51+
52+
.. autoclass:: MultiPwAff
53+
:members:
54+
55+
Union of Piecewise Multiple Affine Expressions
56+
----------------------------------------------
57+
58+
.. autoclass:: UnionPwMultiAff
59+
:members:
60+
61+
Quasipolynomials
62+
^^^^^^^^^^^^^^^^
63+
64+
Term
65+
----
66+
67+
.. autoclass:: Term
68+
:members:
69+
70+
QPolynomial
71+
-----------
72+
73+
.. autoclass:: QPolynomial
74+
:members:
75+
76+
PwQPolynomial
77+
-------------
78+
79+
.. autoclass:: PwQPolynomial
80+
:members:
81+
82+
UnionPwQPolynomial
83+
------------------
84+
85+
.. autoclass:: UnionPwQPolynomial
86+
:members:
87+
88+
QPolynomialFold
89+
---------------
90+
91+
.. autoclass:: QPolynomialFold
92+
:members:
93+
94+
PwQPolynomial
95+
-------------
96+
97+
.. autoclass:: PwQPolynomialFold
98+
:members:
99+
100+
UnionPwQPolynomialFold
101+
----------------------
102+
103+
.. autoclass:: UnionPwQPolynomialFold
104+
:members:

doc/ref_fundamental.rst

Lines changed: 0 additions & 178 deletions
Original file line numberDiff line numberDiff line change
@@ -64,184 +64,6 @@ Matrix
6464
.. autoclass:: Mat
6565
:members:
6666

67-
Sets and Maps
68-
^^^^^^^^^^^^^
69-
70-
Basic Set
71-
---------
72-
73-
.. autoclass:: BasicSet
74-
:members:
75-
76-
Basic Map
77-
---------
78-
79-
.. autoclass:: BasicMap
80-
:members:
81-
82-
Set
83-
---
84-
85-
.. autoclass:: Set
86-
:members:
87-
88-
Map
89-
---
90-
91-
.. autoclass:: Map
92-
:members:
93-
94-
Union Set
95-
---------
96-
97-
.. autoclass:: UnionSet
98-
:members:
99-
100-
Union Map
101-
---------
102-
103-
.. autoclass:: UnionMap
104-
:members:
105-
106-
Geometric Entities
107-
^^^^^^^^^^^^^^^^^^
108-
109-
Point
110-
-----
111-
112-
.. autoclass:: Point
113-
:members:
114-
115-
Vertex
116-
------
117-
118-
.. autoclass:: Vertex
119-
:members:
120-
121-
Vertices
122-
--------
123-
124-
.. autoclass:: Vertices
125-
:members:
126-
127-
StrideInfo
128-
----------
129-
130-
.. autoclass:: StrideInfo
131-
:members:
132-
133-
Cell
134-
----
135-
136-
.. autoclass:: Cell
137-
:members:
138-
139-
Fixed Box
140-
---------
141-
142-
.. autoclass:: FixedBox
143-
:members:
144-
145-
Quasi-Affine Expressions
146-
^^^^^^^^^^^^^^^^^^^^^^^^
147-
148-
Quasi-Affine Expression
149-
-----------------------
150-
151-
.. autoclass:: Aff
152-
:members:
153-
154-
Piecewise Quasi-Affine Expression
155-
---------------------------------
156-
157-
.. autoclass:: PwAff
158-
:members:
159-
160-
Union of Piecewise Quasi-Affine Expressions
161-
-------------------------------------------
162-
163-
.. autoclass:: UnionPwAff
164-
:members:
165-
166-
Multiple Union of Piecewise Quasi-Affine Expressions
167-
----------------------------------------------------
168-
169-
.. autoclass:: MultiUnionPwAff
170-
:members:
171-
172-
173-
Multiple Affine Expressions
174-
^^^^^^^^^^^^^^^^^^^^^^^^^^^
175-
176-
Multiple Affine Expression
177-
--------------------------
178-
179-
.. autoclass:: MultiAff
180-
:members:
181-
182-
Piecewise Multiple Affine Expression
183-
------------------------------------
184-
185-
.. autoclass:: PwMultiAff
186-
:members:
187-
188-
Multiple Piecewise Affine Expression
189-
------------------------------------
190-
191-
.. autoclass:: MultiPwAff
192-
:members:
193-
194-
Union of Piecewise Multiple Affine Expressions
195-
----------------------------------------------
196-
197-
.. autoclass:: UnionPwMultiAff
198-
:members:
199-
200-
Quasipolynomials
201-
^^^^^^^^^^^^^^^^
202-
203-
Term
204-
----
205-
206-
.. autoclass:: Term
207-
:members:
208-
209-
QPolynomial
210-
-----------
211-
212-
.. autoclass:: QPolynomial
213-
:members:
214-
215-
PwQPolynomial
216-
-------------
217-
218-
.. autoclass:: PwQPolynomial
219-
:members:
220-
221-
UnionPwQPolynomial
222-
------------------
223-
224-
.. autoclass:: UnionPwQPolynomial
225-
:members:
226-
227-
QPolynomialFold
228-
---------------
229-
230-
.. autoclass:: QPolynomialFold
231-
:members:
232-
233-
PwQPolynomial
234-
-------------
235-
236-
.. autoclass:: PwQPolynomialFold
237-
:members:
238-
239-
UnionPwQPolynomialFold
240-
----------------------
241-
242-
.. autoclass:: UnionPwQPolynomialFold
243-
:members:
244-
24567
Canonical Names for Internal Module
24668
-----------------------------------
24769

0 commit comments

Comments
 (0)