20 Commits

Author SHA1 Message Date
Robin Salen
6d1b99e5ca
v1.0.0 release (#1637)
* Update CHANGELOG

* Bump versions
2024-11-26 02:58:04 +09:00
Robin Salen
9fdf1b8ef4
Add connect_array convenience method in CircuitBuilder (#1620)
* Add connect_array method

* Pacify clippy

* Wording
2024-08-27 20:56:19 +00:00
Robin Salen
76da138338
Bump versions pre-release (#1569) 2024-04-16 20:10:19 +09:00
Hamy Ratoanina
54cee24b36
Bump versions pre-release (#1557) 2024-03-21 14:34:41 -04:00
Robin Salen
44dc0f96ff
Add mention to versions in local dependencies (#1546) 2024-02-28 06:27:21 +00:00
Robin Salen
c94dc6f858
Version bump pre-release (#1536)
* Bump versions

* Bump hashbrown and ahash accordingly

* Update changelog
2024-02-20 14:50:43 -05:00
Robin Salen
6c9588aaea
Update licenses and dependencies (#1534) 2024-02-19 07:35:51 -05:00
Robin Salen
bb48cabdb1
Add math rendering with Katex (#1459) 2024-01-12 17:07:18 +01:00
BGluth
5936c67f59 Now refers to sub-crates using paths (and removed patch section)
- Previously refered to specific `crates.io` versions.
- Motivation for this is to allow external projects to be able use
  specific revisions of this repo. Without this, a `[patch]` section
  is almost always required in the external project in order to force
  the internal plonky2 sub-crates to the same version, an approach which
  comes with its own issues.
2023-09-07 16:36:38 -06:00
Nicholas Ward
3a55602909 update versions for crates.io updates 2023-07-31 16:31:22 -07:00
dependabot[bot]
5d513207ef
Update itertools requirement from 0.10.3 to 0.11.0
Updates the requirements on [itertools](https://github.com/rust-itertools/itertools) to permit the latest version.
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.10.3...v0.11.0)

---
updated-dependencies:
- dependency-name: itertools
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-13 23:00:00 +00:00
Nicholas Ward
14c4011593
Revert "clippy fixes" 2023-07-07 12:16:43 -07:00
Nicholas Ward
0fec1124a3 update itertools 2023-07-05 17:30:47 -07:00
Daniel Lubarov
137bc78565 Prep for publishing to crates.io 2023-01-30 13:18:06 -08: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
Sladuca
e7216f2683 feature-gate rand 2022-08-06 11:35:41 -04:00
Hamish Ivey-Law
310493c293
Faster extension field multiplication (#500)
* Initial implementation of quintic extensions.

* Update to/from_biguint() methods.

* Draft of fast multiplication on quintic extensions over 64-bit base.

* cargo fmt

* Typo.

* Document functions (a bit).

* Refactor reduction step.

* Change multiplication call so that LLVM generates better assembly.

* Use one main accumulator instead of two minor ones; faster reduce.

* Use one main accumulator in square too; clean up redundant code.

* Call faster routines from Mul and Square impls.

* Fix reduction function.

* Fix square calculation.

* Slightly faster reduction.

* Clean up names and types.

* cargo fmt

* Move extension field mul/sqr specialisations to their own file.

* Rename functions to have unique prefix.

* Add faster quadratic multiplication/squaring.

* Faster quartic multiplication and squaring.

* cargo fmt

* clippy

* Alternative reduce160 function.

* Typo.

* Remove alternative reduction function.

* Remove delayed reduction implementation of squaring.

* Enforce assumptions about extension generators.

* Make the accumulation variable a u32 instead of u64.

* Add test to trigger carry branch in reduce160.

* cargo fmt

* Some documentation.

* Clippy; improved comments.

* cargo fmt

* Remove redundant Square specialisations.

* Fix reduce*() visibility.

* Faster reduce160 from Jakub.

* Change mul-by-const functions to operate on 160 bits instead of 128.

* Move code for extensions of GoldilocksField to its own file.
2022-03-04 09:34:31 +11:00
Daniel Lubarov
2e3a682bde metadata 2022-01-21 10:14:44 -08:00
Daniel Lubarov
c126641c5d
Split into crates (#406)
* Split into crates

I kept other changes to a minimum, so 95% of this is just moving things. One complication that came up is that since `PrimeField` is now outside the plonky2 crate, these two impls now conflict:
```
impl<F: PrimeField> From<HashOut<F>> for Vec<u8> { ... }
impl<F: PrimeField> From<HashOut<F>> for Vec<F> { ... }
```
with this note:
```
note: upstream crates may add a new impl of trait `plonky2_field::field_types::PrimeField` for type `u8` in future versions
```
I worked around this by adding a `GenericHashOut` trait with methods like `to_bytes()` instead of overloading `From`/`Into`. Personally I prefer the explicitness anyway.

* Move out permutation network stuff also

* Fix imports

* Fix import

* Also move out insertion

* Comment

* fmt

* PR feedback
2021-12-28 11:51:13 -08:00