Commit Graph

56 Commits

Author SHA1 Message Date
Georg Wiese
38c5e1676b Implement publics for Halo2 backend 2023-12-15 13:30:12 +01:00
Georg Wiese
04f4d07136 Pipeline: Refactor argument handling 2023-12-08 17:10:04 +01:00
Georg Wiese
54045fbcf7 Pipeline 2023-12-07 22:12:29 +01:00
chriseth
6a9fe3fd5e Move inlining function. 2023-11-27 20:15:45 +01:00
chriseth
2fb26b5464 Evaluate complex expressions. 2023-11-24 16:00:23 +01:00
chriseth
f25800975c Allow prover query to return error. 2023-11-24 14:39:51 +01:00
Lucas Clemente Vella
cd4449e65f RISCV executor 2023-11-24 11:42:35 +01:00
chriseth
18d5b6095a Reuse existing inputs to query callback utility. 2023-11-16 14:48:28 +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
93cf6d720d Merge pull request #751 from powdr-labs/allow_println
Explicitly allow printing to stdout.
2023-11-06 19:24:56 +00:00
Leo Alt
f08f24443c compiler cleanup 2023-11-06 17:26:22 +01:00
chriseth
1ce585d724 Explicitly allow printing to stdout. 2023-11-06 17:04:29 +01:00
chriseth
6eb5982fd0 Restrict operators on AlgebraicExpression. 2023-11-01 22:40:08 +01:00
chriseth
3429b8cf33 Simplify AlgebraicExpression. 2023-10-30 18:36:12 +01:00
chriseth
960ed7c572 Introduce AlgebraicExpression. 2023-10-30 16:16:42 +01:00
Georg Wiese
75c4fc2ce7 Make query callback non-optional 2023-10-23 13:18:38 +00:00
Georg Wiese
02b404ffe4 External Witness Generation 2023-10-18 11:32:35 +00:00
Georg Wiese
67a582698c Implement hint query 2023-10-12 13:13:23 +00:00
chriseth
aff7ff1c57 Do not treat constants specially during parsing. 2023-10-10 16:40:41 +02:00
chriseth
7235b88484 Make Identity more flexible. 2023-10-10 12:44:40 +02:00
Georg Wiese
a28a037f19 Disallow prints in all crates 2023-10-05 08:11:23 +00:00
chriseth
8d7b55fe02 Use optimize mildly to substitute constants. 2023-10-04 16:15:26 +02:00
Georg Wiese
499b1e5c54 Add Poseidon machine on Goldilocks field 2023-10-02 08:46:03 +00:00
chriseth
3b31c670a7 Unify parsed and analyzed expressions. 2023-09-19 16:33:56 +02:00
schaeff
75e806a0d6 inline imp before witgen
inline intermediate polynomials for halo2
2023-09-14 15:28:48 +02:00
Leo Alt
58d3b872f8 fix snark verifier 2023-09-14 14:57:22 +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
chriseth
d0821e4119 Use absolute path to test dir. (#596) 2023-09-12 17:44:22 +02:00
chriseth
3029947b0f Fix clippy. (#520) 2023-08-23 18:31:38 +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
Thibaut Schaeffer
306b6e07df Extract airgen (#505)
* extract airgen

* address review
2023-08-18 12:06:59 +00: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
c2f5ce2746 Refactor Main Machine Witness Generation #470 2023-08-14 09:45:58 +00: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
Thibaut Schaeffer
e658dbd43c Fallible linker (#467)
* make linker fallible, propagate errors, add book entry about linker

* Apply suggestions from code review

Co-authored-by: Leo <me@leoa.lt>

* add test

---------

Co-authored-by: Leo <me@leoa.lt>
2023-08-07 23:40:39 +02:00
Georg Wiese
5d78ca7b78 Add Poseidon machine for BN254 #408 2023-07-31 16:22:09 +00: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
schaeff
fc8ba429df modular powdr syntax, basic romgen, and basic linker for single machine 2023-07-10 17:56:29 +02:00
Lucas Clemente Vella
8010afbf6e Merge pull request #372 from powdr-org/add_expression_function
Add expression function for poly id.
2023-07-07 14:09:22 +01:00
chriseth
b58354322a PIL optimizer: remove constant columns. 2023-07-06 21:00:39 +02:00
chriseth
5b5d725092 Add expression function for poly id. 2023-07-06 17:36:00 +02:00
chriseth
cc3f63482a Fix halo bug. 2023-07-06 17:11:43 +02:00
Leo Alt
643d49918b remove unused code in halo2 2023-07-03 17:18:11 +02:00
chriseth
c6638b83df Rename pilgen to asm_to_pil. 2023-07-03 15:21:09 +02:00
chriseth
fd3e889eb5 Move analyzed ast into the ast crate. 2023-07-03 15:18:36 +02:00
Leo Alt
017acf8903 fix logs in halo2 prover 2023-06-27 17:36:32 +02:00
Leo Alt
9c1a3c67a1 halo2 aggregation 2023-06-27 12:10:10 +02:00
Lucas Clemente Vella
ac12c92359 Enabling logging in tests. 2023-06-22 16:27:32 +01:00