Commit Graph

65 Commits

Author SHA1 Message Date
chriseth
bef7d80c70 Change labels to require just a single colon. 2023-12-19 14:07:21 +01:00
Georg Wiese
54045fbcf7 Pipeline 2023-12-07 22:12:29 +01:00
chriseth
18cba16c9b Allow functions to work on constraints. 2023-11-30 12:13:55 +01:00
Leo
b8e6c2468b Merge pull request #790 from powdr-labs/support_array_elemes_in_operation
Support array elements in operations.
2023-11-28 16:53:43 +00:00
chriseth
9946b863b4 Remove macros. 2023-11-28 15:57:29 +01:00
chriseth
a381395f78 Support array elements in operations. 2023-11-24 17:32:34 +01:00
Georg Wiese
8c50681fc1 Write-Once Memory 2023-11-24 16:13:56 +01:00
chriseth
d94db64b6f Support arrays in witgen. 2023-11-08 21:31:49 +01:00
schaeff
844dd39618 get degree from namespaces 2023-11-07 10:32:41 +01:00
Leo
3f7faf19f3 Merge pull request #733 from powdr-labs/parse_next_as_operator
Parse next as operator
2023-11-02 16:31:05 +00:00
Georg Wiese
730706de0d Fix test: two_block_machine_functions.pil 2023-11-02 14:02:41 +00:00
Georg Wiese
ec8c9943f8 VM-to-VM Witness Generation 2023-11-02 11:22:25 +00:00
chriseth
b2a8960061 Test next operator in macro. 2023-11-02 11:09:08 +01:00
Georg Wiese
f26a161ae3 Add SplitBN254 machine, use queries in SplitGL machine 2023-10-31 18:27:19 +00:00
Georg Wiese
5345624947 Block machine queries 2023-10-26 16:37:36 +00:00
Georg Wiese
c1d6d04b4e Fix test by giving FixedLookup access to RowPair 2023-10-25 16:22:33 +00:00
chriseth
4beb28280c Use global constraints in fixed lookup. 2023-10-25 13:16:52 +00:00
schaeff
f71cd82d49 allow ommiting latch if no operations and operation_id if <= 1 operations 2023-10-22 09:32:37 +02:00
Georg Wiese
02b404ffe4 External Witness Generation 2023-10-18 11:32:35 +00:00
Georg Wiese
263c03d77d WrapGL machine: return both high and low values 2023-10-05 16:18:28 +00:00
schaeff
a3ebf460fd remove constraints blocks 2023-10-04 12:52:59 +02:00
chriseth
f39872d539 Merge pull request #651 from powdr-labs/block-machine-cache-miss
Bug fixes in block machine witness generation
2023-10-04 08:52:23 +00:00
Georg Wiese
5268e6fc24 Add more machines to Powdr STD 2023-10-03 18:02:01 +00:00
Georg Wiese
380b96fcf1 Bug fixes in block machine witness generation 2023-10-02 14:08:33 +00:00
Leo
e231006976 Merge pull request #632 from powdr-labs/std
Add Powdr standard library
2023-10-02 12:14:31 +00:00
Georg Wiese
c857fe08b8 Add Powdr standard library 2023-10-02 11:36:44 +00:00
Georg Wiese
499b1e5c54 Add Poseidon machine on Goldilocks field 2023-10-02 08:46:03 +00:00
Georg Wiese
8ec6bffe96 Implement Multi-return 2023-09-28 21:22:32 +00:00
Georg Wiese
57b8749aa3 Witgen: Handle Block-to-Block calls 2023-09-27 16:26:36 +00:00
Georg Wiese
5a9ef99331 Block Machine Witgen: Handle last row differently 2023-09-27 10:21:37 +00:00
chriseth
a7c65e0990 Lambda expressions 2023-09-25 17:28:38 +02:00
Georg Wiese
6f280e4c03 Implement wrapping of arbitrary field elements (Goldilocks) 2023-09-14 14:49:52 +00:00
schaeff
75e806a0d6 inline imp before witgen
inline intermediate polynomials for halo2
2023-09-14 15:28:48 +02:00
Thibaut Schaeffer
17d22ed552 Module system (#558)
* implement import system

* address review comments

* use folder in macro expansion

* use folder in file loader

* use folder in canonicalizer

* use parse_absolute_path
2023-09-13 17:47:29 +02:00
schaeff
8191e8d009 support intermediate polynomials 2023-09-12 19:26:05 +02:00
Georg Wiese
dfa4828b6a Fix typo in comment 2023-09-06 14:37:12 +00:00
chriseth
f129f80840 Make instruction bodies contain pil statements. (#531) 2023-09-05 19:59:22 +02:00
Thibaut Schaeffer
d77bb0cc6c Static to static calls (#464)
* implement static-to-static calls

* fix conflict, comment out link to make book test pass

* address review comments, fix test

* address review, fix and test display for params

* address review comments

* ban operations on vms, instructions on cms

* rewrite "powdr asm" to "powdr-asm" everywhere

* fix lint

* address review comments
2023-09-05 12:56:23 +02:00
Georg Wiese
df4cd885b5 Benchmark: Fix Keccak benchmark, remove all other
* Benchmark: Fix Keccak benchmark, remove all other

* Build Keccak PIL in benchmark

* Remove keccak.pil
2023-09-01 23:01:37 +02:00
Thibaut Schaeffer
b80686a880 VM to VM calls (#392)
* implement call from vm to vm

* address review

* reduce diff in pilgen

* address review

* address more comments

* clean up readme, fix tests

* keep only one machine type for the block enforcer readme
2023-08-21 16:23:25 +02:00
Georg Wiese
2ee4a58881 Block Machine: Handle last row (#503)
* Block Machine: Handle last row

* Make Poseidon SM work with cyclic backends

* Introduce solver

* Refactor

* Format

* Comment code

* Bug fixes

* Refactor

* Fix bug fix

* Add logging
2023-08-18 10:08:21 +02:00
Georg Wiese
0425f97a0a Refactor Poseidon example into its own machine (#479)
* Refactor Poseidon example into its own machine

* Remove degree, rename and add comment
2023-08-10 10:58:23 +02:00
Georg Wiese
653565448b Add witness generation benchmarks #462 (#462) 2023-08-08 11:52:12 +02:00
schaeff
497ea636ec vm to block machine calls 2023-08-01 11:42:24 +02:00
schaeff
e965d7f0eb infer the assignment register when assigning the output of an instruction 2023-07-31 23:59:21 +02:00
Georg Wiese
5d78ca7b78 Add Poseidon machine for BN254 #408 2023-07-31 16:22:09 +00:00
schaeff
88dfdea0a5 create powdr book
Co-authored-by: Leo <me@leoa.lt>
2023-07-27 14:51:22 +02:00
schaeff
3995dba166 fix entry not found in block machine 2023-07-25 10:20:52 +02:00
Thibaut Schaeffer
3561d7e1ce support block machines with block size 1 (#403) 2023-07-18 20:12:11 +02:00
Georg Wiese
7b8c4fce21 Fix using constants in identities #401 2023-07-17 17:47:40 +00:00