Jack Grigg
9862b247d2
Migrate remaining FieldExt constants and methods into ff
2022-11-25 05:05:54 +00:00
Volker Mische
52902e6fdf
Implement Serde for fields and curves
...
Currently Serde is only implemented for `Fp`, `Fq`, `EpAffine` and `EqAffine`.
Support can be enabled with the `serde` feature.
2022-10-14 15:32:57 +02:00
Jack Grigg
3329b4de85
Migrate to ff 0.12, group 0.12
...
MSRV is now 1.56.0.
2022-05-04 23:22:15 +00:00
Jack Grigg
21fd9e2c1b
Remove std feature flag
...
Closes zcash/pasta_curves#27 .
2021-12-22 05:41:04 +00:00
Jack Grigg
ab03c3d5e1
Remove field traits from behind std feature flag
...
Now that we have a default implementation of `SqrtRatio::sqrt_ratio`, we
can use it and `FieldExt` in no-std environments.
We introduce an `alloc` feature flag to form a common feature dependency
between `std` and `sqrt-table`. It is currently unused directly, but
will be used after `CurveAffine` is refactored to remove the `std`
dependency.
Closes zcash/pasta_curves#25 .
2021-12-22 05:06:16 +00:00
Jack Grigg
9999964d17
Add no-std support
...
We re-introduce the Tonelli-Shank square root algoritm that was removed
in zcash/halo2#120 , to use in no-std mode (the table-based impl requires
allocations, and also uses 29kiB of memory which is a problem for
constrained environments that typically need no-std).
2021-09-20 18:56:23 +01:00
porcuquine
65a138cd77
Re-export group crate.
2021-09-02 13:19:32 -07:00
Jack Grigg
38db112596
Fix clippy lints
2021-06-01 23:34:22 +01:00
Jack Grigg
901ef2381e
clippy: Allow binary operators in Mul impls for curves
...
We use binary operators specifically to implement constant-time scalar
multiplication.
2021-03-03 22:00:22 +00:00
Jack Grigg
a3921fd38c
clippy: Allow too-many-arguments on F*::montgomery_reduce
...
We need to reduce from eight limbs to four, so we need eight arguments.
2021-03-03 22:00:22 +00:00
Jack Grigg
c13fc16ead
clippy: Allow single-character names where necessary
2021-03-03 22:00:22 +00:00
Jack Grigg
b06937103d
clippy: Use *Assign to implement arithmetic::Group trait
2021-03-03 22:00:22 +00:00
Jack Grigg
d40ed36d50
Move Pasta implementations into root
2021-03-03 21:59:08 +00:00
Jack Grigg
b36356667f
Rename crate to pasta_curves and remove halo2 code
2021-03-03 21:59:08 +00:00
Jack Grigg
e41fd7ca12
Move SHA-256 gadget and chip into examples
2021-02-25 20:01:44 +00:00
Sean Bowe
3b954cdd3b
Allow unknown clippy lints so that lints added in nightly don't break CI
2021-02-15 07:53:27 -07:00
Sean Bowe
175c1449d3
Disable clippy::upper_case_acronyms lint.
2021-02-14 09:39:05 -07:00
Jack Grigg
7dd6e65a5f
Add halo2::dev::circuit_dot_graph behind dev-graph feature flag
...
This method renders circuits as dot graphs, to help circuit developers
understand their structure.
2021-02-01 18:38:16 +00:00
Jack Grigg
f24b60b5b0
Add a placeholder module for gadgets
2021-01-08 01:55:10 +00:00
Jack Grigg
17da891b25
General traits and structs for implementing circuits
2021-01-08 01:54:18 +00:00
Jack Grigg
64b06735bf
Expose MockProver in crate, and add documentation
2021-01-06 21:52:56 +00:00
Jack Grigg
6eebf3994b
Add MockProver for developing circuits
2021-01-06 21:52:56 +00:00
Sean Bowe
95e41fcfcf
Rename curves to Pallas/Vesta (Pasta).
2020-12-03 13:47:47 -07:00
Jack Grigg
a0a9538132
Use renamed broken_intra_doc_links lint
2020-11-27 14:40:37 +00:00
Jack Grigg
fb8f67dfe5
Add a simple metrics Recorder for counting things in models
2020-11-23 12:47:42 +00:00
Jack Grigg
3407d13e4b
Move curves and fields into tweedle module
2020-11-12 21:36:59 +00:00
Sean Bowe
4572e809d1
cargo fmt
2020-09-07 13:09:25 -06:00
Sean Bowe
116659c1ba
Refactor module tree.
2020-09-07 13:07:51 -06:00
Sean Bowe
dd1ad9f114
Initial commit
2020-08-22 14:15:39 -06:00