Commit Graph

117 Commits

Author SHA1 Message Date
chriseth
ac0ccff780 Array literals in expressions. 2023-09-26 10:54:16 +02:00
chriseth
0ead3bd1c7 Merge pull request #564 from powdr-labs/generic_declaration
Let statement and lambda functions.
2023-09-25 16:54:44 +00:00
chriseth
a7c65e0990 Lambda expressions 2023-09-25 17:28:38 +02:00
chriseth
45e9cc5354 Use itertools::format. 2023-09-25 16:31:17 +02: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
schaeff
8191e8d009 support intermediate polynomials 2023-09-12 19:26:05 +02:00
Georg Wiese
062969885b Witgen: Detect VM Submachines (#516) 2023-09-12 14:08:00 +02:00
Georg Wiese
c022e9915b BlockMachine: Remember if a query could not be completed 2023-09-12 10:32:51 +02:00
Georg Wiese
958bd88478 Bug fix in AffineExpression::assign() 2023-09-07 14:16:04 +00:00
chriseth
103e2e7678 Add comparisons and logical operators. 2023-09-07 15:21:58 +02:00
Georg Wiese
16c528318e ColumnMap: Different type for different polynomial type 2023-09-06 19:19:25 +02:00
chriseth
50d35063fb Quick fix: Re-compute first row. 2023-09-05 17:03:39 +02:00
chriseth
dea06ada15 Move update functions into CellValue. 2023-09-05 14:56:40 +02:00
chriseth
d2e29b315a Simplify range constsraint combination. 2023-09-05 14:56:40 +02:00
chriseth
f220d80474 Lazily combine affine expressions 2023-09-04 21:56:12 +02:00
Georg Wiese
10546b8ba3 Processor: Use sequence iterator 2023-09-04 11:36:22 +00:00
Georg Wiese
5b3252fb86 Witgen: Improve error messages 2023-09-01 20:11:37 +02:00
chriseth
5a65ea8ffe Statistics about identity processing. 2023-09-01 11:09:08 +02:00
Georg Wiese
1bcffdd0ba Use rust toolchain 1.72 (#550)
* Use rust toolchain 1.72

* Use resolver 2

* Install toolchain on CI

* Install toolchain

* just lint and format

* Add clippy

* Just format

* Add rustfmt component

* Readd tests
2023-08-31 13:25:36 +00:00
chriseth
56448b0c1e Merge pull request #539 from powdr-labs/eval_left_only
Evaluate only left side of multiplication if it is zero.
2023-08-31 10:13:14 +02:00
John Smith
03808f3e23 fix: clippy complain (#545) 2023-08-30 15:20:07 +02:00
chriseth
77110fff4f Evaluate left side only for multiplication by zero. 2023-08-29 20:31:28 +02:00
chriseth
9169f70983 Update documentation. 2023-08-29 18:49:26 +02:00
chriseth
6bc13aa30b tiny change 2023-08-29 10:12:30 +02:00
Georg Wiese
e45b9fdf31 Add unit test to Processor 2023-08-25 08:53:53 +00:00
Georg Wiese
d404a00e3e Refactor Witgen call interface 2023-08-24 14:49:23 +00:00
Georg Wiese
c7f5f3e664 Extract module 2023-08-21 13:53:07 +00:00
Georg Wiese
765051ed16 Reduce verbosity (#509) 2023-08-21 12:28:36 +02:00
Georg Wiese
f666b8e5b7 Refactor Block Machine Witness Generation #457 (#457) 2023-08-18 12:30:25 +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
0ba95b8774 Witgen: Use enums instead of Box to store machines #488 2023-08-14 12:26:04 +00:00
Georg Wiese
c2f5ce2746 Refactor Main Machine Witness Generation #470 2023-08-14 09:45:58 +00:00
Georg Wiese
1283f61daf Use PolyID instead of PolynomialReference or usize (#460)
* Use PolyID instead of PolynomialReference or usize

* SortedWitnesses: Represent rows as map

* Refactor query stuff

* Bug fix

* Return name of right lifetimes

* Revert "Return name of right lifetimes"

This reverts commit f0f38ebde1.

* Clean up

* Generator: Use Vectors as rows

* Convenience methods

* Bug fix

* List of rows

* Refactor

* Rename

* Clean up witgen

* Undo changing loop detection frequency

* Extract ColumnMap

* Simplify loop detection

* Fix test

* Polish

* Simplify

* Use ColumnMap for global range constraints

* Format

* Remove poly_id_u64()

* Sorted Witness Machine: Use ColumnMap

* Undo changes in sorted witness machine

* Clippy

* Readd comment

* Review feedback
2023-08-07 19:16:43 +02:00
Georg Wiese
dac0278e83 Simplify global range constraints #458 2023-08-02 19:56:02 +00:00
Georg Wiese
c5669f0328 Fix non-unique overflowing division 2023-07-26 11:02:45 +00:00
Georg Wiese
e1a8c8ca02 Block machine witness generation: allow for multiple passes per row #393 2023-07-25 13:51:57 +02:00
Georg Wiese
64115133fe Block machine: exit early when input has been seen before 2023-07-25 10:20:52 +02:00
schaeff
3995dba166 fix entry not found in block machine 2023-07-25 10:20:52 +02:00
chriseth
ddd0349589 Rollback on incomplete lookup instead of on error. 2023-07-20 14:13:36 +02:00
chriseth
caf51184d9 Use less formatting. 2023-07-20 10:59:30 +02:00
Georg Wiese
87637b9597 Merge pull request #402 from powdr-labs/star-operator-arbitrary-size
Star operator: expand to arbitrary size
2023-07-18 23:50:52 +02:00
Thibaut Schaeffer
3561d7e1ce support block machines with block size 1 (#403) 2023-07-18 20:12:11 +02:00
Georg Wiese
a4069db115 Star operator: expand to arbitrary size #402 2023-07-17 20:21:50 +02:00
Georg Wiese
5d14f71e53 Add logging to witness generation code (#382)
* Add logging to witness generation code #382

* EvalError::FixedLookupFailed: Format query only on display
2023-07-13 10:39:59 +02: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
edbe05f699 Some more uses of is_zero and is_one. 2023-07-10 09:36:54 +02:00
chriseth
f80646d60f Some more features for the number types. 2023-07-10 09:36:54 +02:00