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
Georg Wiese
d2a95ac1f4
Block machine witness generation: Repeat first real block #386
2023-07-12 12:41:53 +00:00
chriseth
e3467f431e
Support ranges in range constraints.
2023-07-11 17:19:05 +02:00
schaeff
fc8ba429df
modular powdr syntax, basic romgen, and basic linker for single machine
2023-07-10 17:56:29 +02:00
chriseth
b58354322a
PIL optimizer: remove constant columns.
2023-07-06 21:00:39 +02:00
chriseth
cc3f63482a
Fix halo bug.
2023-07-06 17:11:43 +02:00
schaeff
3bbdd1c243
improve compiler pipeline
2023-06-19 16:01:02 +02:00
chriseth
98e0fb16a0
Check if zero is a valid "unknown" solution.
2023-06-14 19:50:09 +02:00
schaeff
d99eddd58a
batch labels with the following statement
2023-06-14 02:02:35 +02:00
chriseth
8d894100ce
Test for macros in assembly.
2023-06-07 12:13:55 +02:00
schaeff
30915a0132
optional halo2 proving in cli
2023-06-02 16:05:25 +02:00
chriseth
847e3cf37e
Allow assembly inside pil.
2023-05-22 12:51:10 +02:00
chriseth
ea46efd533
Fix sum test.
2023-05-09 17:50:37 +02:00
schaeff
9f700d7f97
restrict pc, update asm to finish with infinite loop
2023-04-26 14:20:41 +02:00
schaeff
7aa52d8b9a
replace 0/0 hack with match
2023-04-24 13:59:12 +02:00