Hamish Ivey-Law 6c4ef29fec
Add range checks to the arithmetic Stark (#866)
* Simplify loop and remove clippy.

* Offset auxiliary coefficients so they're always positive.

* Split mul aux input into lo/hi parts.

* Rename register.

* Combine `QUO_INPUT_{LO,HI}`; rearrange some columns.

* Split `MODULAR_AUX_INPUT` into high and low pieces.

* Remove range_check_error debug output.

* First draft of generating the range checks.

* Remove opcodes for operations that were defined elsewhere.

* Clean up interface to build arithmetic trace.

* Fix "degree too high" bug in DIV by zero.

* Fix constraint_transition usage in recursive compare.

* Fix variable name; use named constant.

* Fix comment values.

* Fix bug in recursive MUL circuit.

* Superficial improvements; remove unnecessary genericity.

* Fix bug in recursive MULMOD circuit.

* Remove debugging noise; expand test.

* Minor comment.

* Enforce assumption in assert.

* Make DIV its own operation.

* Make MOD it's own operation; rename structs; refactor.

* Expand basic test.

* Remove comment.

* Put Stark operations in their own file.

* Test long traces.

* Minor comment.

* Address William's comments.

* Use `const_assert!` instead of `debug_assert!` because Clippy.
2023-01-31 02:23:24 +11:00
..
2023-01-17 23:57:53 -08:00
2023-01-10 21:03:46 -08:00
2022-12-19 15:42:59 -08:00
2022-12-09 08:56:49 -08:00
log
2023-01-14 21:21:47 -08:00
2023-01-03 11:36:42 -08:00
2022-09-23 10:54:17 -07:00
2022-08-19 17:53:12 -04:00
2023-01-03 12:43:05 -08:00
2023-01-15 00:06:08 -08:00
2022-12-02 17:06:30 -08:00
2023-01-03 11:53:21 -08:00
2023-01-14 21:18:58 -08:00
2022-08-25 20:19:18 -07:00
2022-08-25 20:19:18 -07:00
2023-01-03 11:36:42 -08:00