Commit Graph

71 Commits

Author SHA1 Message Date
Georg Wiese
41a28a75f7 External Witness Values as String 2023-12-11 15:29:46 +01:00
Georg Wiese
54045fbcf7 Pipeline 2023-12-07 22:12:29 +01:00
Georg Wiese
3a249a3fd3 Use Processor by VmProcessor 2023-12-06 13:27:20 +01:00
Georg Wiese
54ba4a7904 Fix vm_to_block_multiple_interfaces test 2023-12-01 12:02:54 +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
chriseth
1a721b3fd7 Merge pull request #753 from powdr-labs/write-once-memory
Write-Once Memory
2023-11-24 15:27:53 +00:00
Georg Wiese
8c50681fc1 Write-Once Memory 2023-11-24 16:13:56 +01:00
chriseth
f25800975c Allow prover query to return error. 2023-11-24 14:39:51 +01:00
chriseth
7f7c810a0c Run book tests as individual tests. 2023-11-13 15:56:35 +01:00
chriseth
d94db64b6f Support arrays in witgen. 2023-11-08 21:31:49 +01:00
Leo Alt
f08f24443c compiler cleanup 2023-11-06 17:26:22 +01:00
Georg Wiese
9d518bc5be Enable passing externally-generated witness via command line 2023-11-03 14:09:12 +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
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
chriseth
4beb28280c Use global constraints in fixed lookup. 2023-10-25 13:16:52 +00:00
Thibaut Schaeffer
a58b5af74b Merge pull request #594 from powdr-labs/optional-latch-and-operation-id
Optional latch and operation_id
2023-10-24 14:37:48 +00:00
Georg Wiese
75c4fc2ce7 Make query callback non-optional 2023-10-23 13:18:38 +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
dc3d82b5fd Remove _sigma logic 2023-10-13 07:49:03 +00:00
Georg Wiese
263c03d77d WrapGL machine: return both high and low values 2023-10-05 16:18:28 +00: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
70cdfeb096 Merge pull request #650 from powdr-labs/block-machine-bug-fixes2
Improve logging & error reporting in witness generation
2023-10-02 13:59:17 +00:00
Georg Wiese
f76aab9cee Improve logging in Block Machine witgen 2023-10-02 12:54:01 +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
Leo Alt
a86802b4b8 run estark proofs in tests 2023-09-26 15:03:29 +02:00
Lucas Clemente Vella
52bca1b07f STARK prover 2023-09-26 15:03:29 +02: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
chriseth
d0821e4119 Use absolute path to test dir. (#596) 2023-09-12 17:44:22 +02:00
chriseth
0f022c100b Allow different path for vs code. (#589) 2023-09-12 15:18:54 +02:00
Georg Wiese
062969885b Witgen: Detect VM Submachines (#516) 2023-09-12 14:08:00 +02: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
chriseth
c523935e4d More flexible test file discovery. (#541) 2023-08-31 15:18:53 +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
Lucas Clemente Vella
c81757143f Backend unification (#417)
* Mostly done.

* With all features enabled, it at least compiles.

* Fixed some bugs.

* Being explicit about degree type.

* More tests passing.

* Even more tests passing.

* Restoring optional Halo2 compilation.

* Fixing bad merge.

* Fixing lint errors.

* More lint fixes.

* Split of the backend implementations into trait categories.

* Some renamings.

* Much better function names.

* Removed option from witness.

* Pleasing the lint.

* Returning the proof.

* Removing filesystem stuff from backend.

* Renaming function.

* Another function rename.

---------

Co-authored-by: Leo <me@leoa.lt>
2023-08-08 12:14:24 +00:00