egglog 6.0.0__cp312-none-win_amd64.whl → 6.1.0__cp312-none-win_amd64.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.
Potentially problematic release.
This version of egglog might be problematic. Click here for more details.
- egglog/bindings.cp312-win_amd64.pyd +0 -0
- egglog/bindings.pyi +25 -4
- egglog/builtins.py +116 -232
- egglog/declarations.py +11 -2
- egglog/egraph.py +66 -99
- egglog/examples/bool.py +1 -2
- egglog/examples/eqsat_basic.py +5 -8
- egglog/examples/fib.py +2 -2
- egglog/examples/lambda_.py +14 -26
- egglog/examples/matrix.py +2 -2
- egglog/examples/ndarrays.py +15 -28
- egglog/examples/resolution.py +1 -0
- egglog/examples/schedule_demo.py +1 -0
- egglog/exp/array_api.py +158 -307
- egglog/exp/array_api_numba.py +9 -12
- egglog/exp/array_api_program_gen.py +21 -44
- egglog/exp/program_gen.py +1 -0
- egglog/runtime.py +1 -1
- egglog/type_constraint_solver.py +1 -0
- {egglog-6.0.0.dist-info → egglog-6.1.0.dist-info}/METADATA +14 -14
- egglog-6.1.0.dist-info/RECORD +34 -0
- egglog-6.0.0.dist-info/RECORD +0 -34
- {egglog-6.0.0.dist-info → egglog-6.1.0.dist-info}/WHEEL +0 -0
- {egglog-6.0.0.dist-info → egglog-6.1.0.dist-info}/license_files/LICENSE +0 -0
|
Binary file
|
egglog/bindings.pyi
CHANGED
|
@@ -36,6 +36,7 @@ class EGraph:
|
|
|
36
36
|
def run_report(self) -> RunReport | None: ...
|
|
37
37
|
def serialize(
|
|
38
38
|
self,
|
|
39
|
+
root_eclasses: list[_Expr],
|
|
39
40
|
*,
|
|
40
41
|
max_functions: int | None = None,
|
|
41
42
|
max_calls_per_function: int | None = None,
|
|
@@ -149,6 +150,20 @@ class Fact:
|
|
|
149
150
|
|
|
150
151
|
_Fact: TypeAlias = Fact | Eq
|
|
151
152
|
|
|
153
|
+
##
|
|
154
|
+
# Change
|
|
155
|
+
##
|
|
156
|
+
|
|
157
|
+
@final
|
|
158
|
+
class Delete:
|
|
159
|
+
def __init__(self) -> None: ...
|
|
160
|
+
|
|
161
|
+
@final
|
|
162
|
+
class Subsume:
|
|
163
|
+
def __init__(self) -> None: ...
|
|
164
|
+
|
|
165
|
+
_Change: TypeAlias = Delete | Subsume
|
|
166
|
+
|
|
152
167
|
##
|
|
153
168
|
# Actions
|
|
154
169
|
##
|
|
@@ -167,10 +182,11 @@ class Set:
|
|
|
167
182
|
rhs: _Expr
|
|
168
183
|
|
|
169
184
|
@final
|
|
170
|
-
class
|
|
185
|
+
class Change:
|
|
186
|
+
change: _Change
|
|
171
187
|
sym: str
|
|
172
188
|
args: list[_Expr]
|
|
173
|
-
def __init__(self, sym: str, args: list[_Expr]) -> None: ...
|
|
189
|
+
def __init__(self, change: _Change, sym: str, args: list[_Expr]) -> None: ...
|
|
174
190
|
|
|
175
191
|
@final
|
|
176
192
|
class Union:
|
|
@@ -194,7 +210,7 @@ class Extract:
|
|
|
194
210
|
expr: _Expr
|
|
195
211
|
variants: _Expr
|
|
196
212
|
|
|
197
|
-
_Action: TypeAlias = Let | Set |
|
|
213
|
+
_Action: TypeAlias = Let | Set | Change | Union | Panic | Expr_ | Extract
|
|
198
214
|
|
|
199
215
|
##
|
|
200
216
|
# Other Structs
|
|
@@ -209,6 +225,7 @@ class FunctionDecl:
|
|
|
209
225
|
merge_action: list[_Action]
|
|
210
226
|
cost: int | None
|
|
211
227
|
unextractable: bool
|
|
228
|
+
ignore_viz: bool
|
|
212
229
|
|
|
213
230
|
def __init__(
|
|
214
231
|
self,
|
|
@@ -219,6 +236,7 @@ class FunctionDecl:
|
|
|
219
236
|
merge_action: list[_Action] = [], # noqa: B006
|
|
220
237
|
cost: int | None = None,
|
|
221
238
|
unextractable: bool = False,
|
|
239
|
+
ignore_viz: bool = False,
|
|
222
240
|
) -> None: ...
|
|
223
241
|
|
|
224
242
|
@final
|
|
@@ -268,6 +286,7 @@ class RunReport:
|
|
|
268
286
|
search_time_per_ruleset: dict[str, timedelta]
|
|
269
287
|
apply_time_per_ruleset: dict[str, timedelta]
|
|
270
288
|
rebuild_time_per_ruleset: dict[str, timedelta]
|
|
289
|
+
num_matches_per_rule: dict[str, int]
|
|
271
290
|
|
|
272
291
|
def __init__(
|
|
273
292
|
self,
|
|
@@ -277,6 +296,7 @@ class RunReport:
|
|
|
277
296
|
search_time_per_ruleset: dict[str, timedelta],
|
|
278
297
|
apply_time_per_ruleset: dict[str, timedelta],
|
|
279
298
|
rebuild_time_per_ruleset: dict[str, timedelta],
|
|
299
|
+
num_matches_per_rule: dict[str, int],
|
|
280
300
|
) -> None: ...
|
|
281
301
|
|
|
282
302
|
@final
|
|
@@ -371,7 +391,8 @@ class RewriteCommand:
|
|
|
371
391
|
# TODO: Rename to ruleset
|
|
372
392
|
name: str
|
|
373
393
|
rewrite: Rewrite
|
|
374
|
-
|
|
394
|
+
subsume: bool
|
|
395
|
+
def __init__(self, name: str, rewrite: Rewrite, subsume: bool) -> None: ...
|
|
375
396
|
|
|
376
397
|
@final
|
|
377
398
|
class BiRewriteCommand:
|