90 Commits

Author SHA1 Message Date
Robin Salen
1aa32519eb
Fix clippy (#1662) 2025-01-31 05:14:13 +09:00
carlogf
02e80e9af0
add serialization and deserialization for BytesHash (#1645)
* add serialization and deserialization for BytesHash

* fix cargo clippy precedence errors

---------

Co-authored-by: fdecroix <fdecroix@eryx.co>
2025-01-07 23:17:33 +09:00
Gio
7ba3c1f298
Add Field::shifted_powers and some iterator niceties (#1599)
* Add Field::shifted_powers and iterator niceties

* Remove comment
2024-06-14 00:53:00 +09:00
Robin Salen
ed6f452294
fix(field): reenable alloc for tests (#1601) 2024-06-13 06:28:59 -04:00
Benjamin Diamond
c4fbd3ac1a
update 2-adic generator to 0x64fdd1a46201e246 (#1579)
* update 2-adic generator to `0x64fdd1a46201e246`

this necesstitates that we also change the various lifts of the two-adic generator; i.e. the lifts to mult. generators of the _entire_ field, as well as the lifts to 2-adic generators of the various extension fields.

* cargo fmt

---------

Co-authored-by: Benjamin Diamond <bdiamond@ulvetanna.io>
2024-04-27 04:46:04 +09:00
Jim Posen
692a9e35d0 Add stdarch_x86_avx512 feature 2024-04-11 21:13:57 +03:00
Bob Niu
3e89c7c24c refactor code 2024-03-22 16:22:05 +08:00
Alonso González
4f8e631550
Prove Starks without constraints (#1552)
* Enable starks without constraints

* Clippy

* Add test stark without constraints

* Missing file

* Missing changes in the recursive side

* Fix bug with recursion

* Missing import

* Clippy

* Apply suggestions from code review

Co-authored-by: Robin Salen <30937548+Nashtare@users.noreply.github.com>

* Address reviews

* Fix TODO

* Apply suggestions from code review

Co-authored-by: Linda Guiga <101227802+LindaGuiga@users.noreply.github.com>

* More reviews

* Fix bug in eval_helper_columns

* Apply suggestions from code review

Co-authored-by: Robin Salen <30937548+Nashtare@users.noreply.github.com>

* Address reviews

* Allow <= blowup_factor + 1 constraints + reviews

* Add unconstrined Stark

* Missing file

* Remove asserts

---------

Co-authored-by: Robin Salen <30937548+Nashtare@users.noreply.github.com>
Co-authored-by: Linda Guiga <101227802+LindaGuiga@users.noreply.github.com>
2024-03-15 11:43:45 +00:00
Robin Salen
0817fd8e98
Pacify clippy (#1547) 2024-02-28 15:21:34 +09:00
Robin Salen
598ac876ae
Do some additional cleanup pre-release (#1532)
* Add Debug impl for types

* Remove outdated clippy lint exceptions

* Hide internal custom gate methods and make some const
2024-02-19 10:32:07 -05:00
Robin Salen
4a620f4d79
Fix latest clippy for redundant_imports (#1535)
* Fix clippy for maybe_rayon

* Remove reimports
2024-02-19 08:13:32 -05:00
David
b6fec06c38
Fix nightly build (ahash issue) (#1524)
* Revert "Fix workflow"

This reverts commit 246c2b6263f71313192801b1c27a3c08e241f545.

* Revert "Fix nightly version"

This reverts commit 8f919133379213698ba43fda5a39a153a17324b7.

* chore: remove stdsimd feature req (stabilized)
2024-02-12 09:42:07 -05:00
yanziseeker
c329b3681c
chore(evm,field,plonky2):fix typos (#1454) 2024-01-10 10:40:39 +00:00
Robin Salen
cb19f21994
Add crate-level documentation (#1444)
* Add crate-level documentation

* Revert change

* Skip

* Typo

* Apply comments

* Rephrase paragraph

* Apply comments
2024-01-08 14:08:53 +01:00
Ayush Shukla
fdd7ee46fe
fix: make from_noncanonical_biguint work for zero (#1427) 2023-12-15 15:49:34 +01:00
Robin Salen
2d36559dad
Make some functions const (#1407) 2023-12-05 13:41:31 -05:00
Paul Gebheim
40d3c6dd0d
Merge pull request #1294 from matthiasgoergens/matthias/make-clippy-happy
Make clippy happy
2023-11-15 19:54:55 -08:00
shuoer86
a0ea26f4b2
Fix typos in comments 2023-11-04 23:07:36 +08:00
Matthias Goergens
f92427021c Make clippy happy
Nightly has added more clippy rules.
2023-10-16 13:43:16 +08:00
Robin Salen
1997bf242b
Implement inverse from Fermat little theorem (#1176)
* Add inverse from Fermat little theorem

* Remove inlining for goldilocks try_inverse method
2023-08-19 00:50:08 +10:00
Jacqueline Nabaglo
b2626fdc71
Merge pull request #1162 from topos-protocol/cleanup_attributes
Remove unused attributes
2023-08-04 13:11:25 -07:00
Hamish Ivey-Law
c9bd32d5cf
Fix trait import. (#1163) 2023-08-02 23:24:03 +10:00
Robin Salen
9f8c152222
Remove unused attributes 2023-08-02 08:54:20 -04:00
Robin Salen
04657d246b
Fix import 2023-07-16 11:21:56 -04:00
Nicholas Ward
2d7a94de6a formatting 2023-07-11 12:05:22 -07:00
Matthias Goergens
4df4d86555 No default implementation 2023-07-04 17:21:27 +08:00
Matthias Goergens
6122dccb6e Move operations to Field
Implement the TODOs and move `from_noncanonical_u64` and `from_noncanonical_i64` from `Field64` to `Field`.
2023-06-28 18:44:47 +08:00
Hamish Ivey-Law
653a6b15de
Remove generic_const_exprs dependency from field crate. (#1020) 2023-05-04 07:28:50 +10:00
Robin Salen
f7f5fb4e93
Change display for GoldilocksField 2023-04-20 07:59:34 +02:00
Robin Salen
bb2233cb21
Override from_noncanonical_u96() for Goldilocks field 2023-03-16 10:27:26 -04:00
Hamish Ivey-Law
2501386004
Add missing feature to field crate. (#818) 2022-11-18 15:00:58 +11:00
Brandon H. Gomes
9f4dc3464e
fix: add architecture gating for inline-assembly
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
2022-11-03 20:04:57 -07:00
Brandon H. Gomes
fc3f63398d
wip: start moving starky to no-std
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
2022-11-03 12:17:03 -07:00
Brandon H. Gomes
e2cdd5a954
feat: upgrade Sampling APIs
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
2022-11-03 08:26:03 -07:00
Brandon H. Gomes
7a81c5d46a
feat: move to alloc for Vec/String/Box
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
2022-11-02 19:59:12 -07:00
Brandon H. Gomes
6fd0da216a
fix: remove unstable features from plonky2
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
2022-11-02 17:50:31 -07:00
wborgeaud
b97ec3bda1 New clippy lint 2022-10-25 10:50:40 +02:00
Daniel Lubarov
443a070003 Clippy fix 2022-10-08 14:09:18 -07:00
Hamish Ivey-Law
d7bb47318c
Modular operations for the EVM arithmetic unit (#755)
* First draft of 256-bit addition.

* Update comment.

* cargo fmt

* Rename addition evaluation file.

* Port ALU logic from SZ.

* Give a name to some magic numbers.

* `addition.rs` -> `add.rs`; fix carry propagation in add; impl sub.

* Clippy.

* Combine hi and lo parts of the output.

* Implement MUL.

* Suppress Clippy's attempt to make my code even harder to read.

* Next draft of MUL.

* Make all limbs (i.e. input and output) 16-bits.

* Tidying.

* Use iterators instead of building arrays.

* Documentation.

* Clippy is wrong; also cargo fmt.

* Un-refactor equality checking, since it was wrong for sub.

* Daniel comments.

* Daniel comments.

* Rename folder 'alu' -> 'arithmetic'.

* Rename file.

* Finish changing name ALU -> Arithmetic Unit.

* Finish removing dependency on array_zip feature.

* Remove operations that will be handled elsewhere.

* Rename var; tidy up.

* Clean up columns; mark places where range-checks need to be done.

* Import all names in 'columns' to reduce verbiage.

* cargo fmt

* Fix aux_in calculation in mul.

* Remove redundant 'allow's; more precise range-check size.

* Document functions.

* Document MUL instruction verification technique.

* Initial tests for ADD.

* Minor test fixes; add test for SUB.

* Fix bugs in generate functions.

* Fix SUB verification; refactor equality verification.

* cargo fmt

* Add test for MUL and fix some bugs.

* Update doc.

* Quiet incorrect clippy error.

* Initial implementation of ADDMOD and MOD.

* Fixes to addmod.

* Update doc.

* Do 1000 random tests instead of just 1.

* Documentation fix.

* Working version of ADDMOD.

* Working version of MOD.

* Name magic number; do multiple MUL tests.

* Add code and test for special case; add some docs.

* Fix spelling mistake.

* Simplify asserts.

* Tidy comment.

* Remove unused module.

* cargo fmt

* Check that output is reduced.

* Add conversion of canonical `i64` to a `Field64`.

* Handle zero modulus within degree constraint.

* cargo fmt

* Fix some comments.

* Check that the top half of the product is zero!

* Start of refactor.

* Refactoring.

* Remove zero and reduction handling from addmod.

* Refactoring; renaming; bug fixes.

* Reuse intermediate calculations across all modular operations; don't negate quot poly unnecessarily.

* Fix bug where last elt of q*m wasn't checked.

* Refactoring.

* Move circuit poly functions to utils.rs.

* Rename ADDMOD stuff to MODULAR.

* Rename module addmod -> modular.

* Handle zero modulus.

* Verify that output is reduced.

* Implement recursive version of modular circuits.

* clippy

* Tidy up i64 -> Field conversion following Jacqui's comments.

* cargo fmt

* Improved documentation.

* Address Jacqui's comments.

* Save some gates by using builder.arithmetic_extension().
2022-10-07 17:15:50 +11:00
Nicholas Ward
33d97eff1c moved sqrt to PrimeField 2022-09-26 11:31:11 -07:00
Nicholas Ward
a053372176 cleanup and documentation 2022-09-26 11:19:09 -07:00
Nicholas Ward
3bc1e65a7a fix 2022-09-26 11:11:41 -07:00
Nicholas Ward
4668e8c5f8 clippy 2022-09-26 10:45:20 -07:00
Nicholas Ward
59acd9436c fmt 2022-09-26 10:44:51 -07:00
Nicholas Ward
880bc87bb1 sqrt 2022-09-26 10:43:18 -07:00
wborgeaud
3007b5e779 Fix DTH_ROOT for degree 1 extension 2022-09-19 11:25:21 +02:00
wborgeaud
a930c1a823 s/l1/l0 2022-09-12 08:09:17 +02:00
Daniel Lubarov
2c77247d43 Keccak sponge STARK
It contains a row for each absorb step of the sponge.
2022-09-01 09:41:19 -07:00
Daniel Lubarov
e87392bdba comment 2022-08-22 11:32:36 -07:00
Daniel Lubarov
464b23297c Check each PolynomialValues len
I.e. that it is the length of some power-of-two subgroup.
2022-08-22 11:16:24 -07:00