Sean Bowe
97bdd1655f
Update clippy
2018-05-17 10:44:28 -06:00
str4d
98bab6877a
Add read_le and write_le to PrimeFieldRepr
2018-05-17 16:50:40 +12:00
Sean Bowe
2d12b9a858
Apply newer rustfmt rules.
2018-03-29 11:18:15 -06:00
Sean Bowe
fcaddaa356
Update Clippy to support latest nightly, and fix some lints.
2018-03-29 10:13:00 -06:00
Sean Bowe
4cf5a534ec
i128_type feature has been stabilized in Rust.
2018-03-29 09:18:26 -06:00
Sean Bowe
53083f4290
Apply rustfmt to the codebase.
2018-02-21 11:08:58 -07:00
bmerge
da717f4472
Auto merge of #75 - ebfull:primerepr-fixes, r=ebfull
...
PrimeRepr improvements
These are API-breaking changes that make `PrimeRepr` a little nicer.
2018-02-21 15:56:41 +00:00
Sean Bowe
541fda7580
Fix misleading comments on write_be and read_be.
2018-02-13 17:14:17 -07:00
Sean Bowe
b971bdedda
Rename divn/muln to shr/shl.
2018-02-13 17:07:10 -07:00
Sean Bowe
a0fcf717c8
add_nocarry and sub_noborrow should no longer return anything.
2018-02-13 16:41:10 -07:00
Jason Davies
bce9f5d639
Update clippy and fix code indentation.
...
(The code indentation issue was not caught by clippy -- I noticed it by
chance!)
2018-02-13 16:02:30 +00:00
Sean Bowe
04a32fb443
Introduce expose-arith
unstable feature for exposing arithmetic functions downstream.
2017-12-04 21:47:45 -07:00
Sean Bowe
b8394bf14d
Fix some comments.
2017-11-26 03:09:06 -07:00
Sean Bowe
aa0cc06e5e
Scalar field should be guaranteed to be SqrtField.
2017-11-25 20:57:10 -07:00
bmerge
affead11a5
Auto merge of #67 - ebfull:static-engine, r=ebfull
...
Engine should always be 'static, for flexibility in downstream code.
2017-11-21 06:47:28 +00:00
Sean Bowe
4a1ac94799
Implement Clone
for Bls12.
2017-11-20 23:53:58 -07:00
Sean Bowe
4b366a143d
Ensure Engine
's are always Clone.
2017-11-20 23:20:11 -07:00
Sean Bowe
f32cb40929
Engine should always be 'static, for flexibility in downstream code.
2017-11-20 12:22:51 -07:00
Sean Bowe
471db6ab27
Enforce that Fr of Engine is the scalar for curve points, for simpler downstream abstractions.
2017-11-12 16:19:08 -07:00
bmerge
364796d88c
Auto merge of #58 - ebfull:derive-clone, r=ebfull
...
Derive `Clone` for G1/G2 encodings.
AFAIK this will finally work on stable when the next version of Rust is released.
Closes #55
2017-10-12 16:45:21 +00:00
Sean Bowe
12b9606b9c
G1/G2 rand() should produce elements of unknown exponent.
2017-10-10 01:13:35 -06:00
Sean Bowe
65e50a9e5a
Allow scale_by_cofactor
to be dead code temporarily.
2017-10-09 17:14:36 -06:00
Michele Orrù
e5607bb528
Add "scale_by_cofactor".
...
Add a function for Affine types that multiplies point by the cofactor of the
group.
2017-10-09 10:04:22 +02:00
Sean Bowe
dbac57c27b
Further refactoring of get_point_from_x()
2017-10-05 12:35:04 -06:00
Sean Bowe
683f21a4d5
Remove spurious newline.
2017-10-04 14:53:42 -06:00
Sean Bowe
85b95750e2
Fix comment about u128-support.
2017-10-04 14:09:40 -06:00
Sean Bowe
931257599d
Refactor code for finding affine points from x-coordinates.
2017-10-04 11:43:42 -06:00
Sean Bowe
60887521b6
Derive Clone
for {G1|G2}{Uncompressed|Compressed}.
2017-10-03 14:35:00 -06:00
Sean Bowe
18c75f11ab
Account for negative curve parameter to be compatible with RELIC.
2017-10-03 14:27:01 -06:00
Sean Bowe
67f5fbc94c
More modifications to satisfy clippy.
2017-09-28 17:37:54 -06:00
Sean Bowe
05339414cc
Update clippy and compensate for new lints.
2017-09-28 17:10:06 -06:00
Sean Bowe
4fe3e1d6e3
Use associated constants for simple constants like these. (Closes #39.)
2017-09-28 16:08:56 -06:00
Sean Bowe
93e2a132b5
Mask rather than divn, closes #50 .
2017-09-28 13:15:29 -06:00
Sean Bowe
291fa71914
This coercion doesn't take place on stable yet.
2017-09-28 13:03:01 -06:00
Sean Bowe
6708878f4c
Elide these lifetimes.
2017-09-28 11:39:53 -06:00
Sean Bowe
bda22db9d5
Always recommend a window table size.
2017-09-28 08:38:13 -06:00
Sean Bowe
894b44d034
These structures are no longer exported outside the crate, and these assertions are unnecessary now that the external API can enforce them.
2017-09-28 08:12:37 -06:00
Sean Bowe
06f6334679
Change to docs for satisfying clippy.
2017-09-27 20:06:51 -06:00
Sean Bowe
d230603190
Introduce a more typesafe wNAF API, and remove the unstable-wnaf feature.
2017-09-27 19:09:59 -06:00
str4d
3ef34b750c
Move benchmarks under benches/ so tests compile on stable
...
Closes #36 .
2017-09-27 17:45:24 +01:00
str4d
39920186b3
Force public structures to implement Debug
...
Closes #23 .
2017-09-26 15:59:50 +01:00
Michele Orrù
9846ad2d17
Some (easy) cleanups as suggested from @ebfull.
...
Thanks!
2017-08-24 20:13:07 +02:00
Michele Orrù
2ac2d1213d
Some (easy) cleanups as suggested from @daira.
...
Thanks!
2017-08-23 19:17:20 +02:00
Michele Orrù
a86d0b7270
s/Q/Quadratic/ in LegendreSymbol enum.
...
Proposed by @ebfull.
2017-08-23 19:10:34 +02:00
Michele Orrù
6feb0f802f
Merge traits SqrtField and LegendreField into SqrtField.
2017-08-23 19:08:00 +02:00
Michele Orrù
2d3f498e75
Polish sqrt in fr.rs: use pattern matching with Legendre enums.
2017-08-23 19:07:44 +02:00
Michele Orrù
57b4e73627
Create enum for LegendreSymbol, fix test.
2017-08-23 19:06:43 +02:00
Michele Orrù
1b6cf85251
Add Legendre symbol for Fq and Fq2.
2017-08-23 19:04:56 +02:00
bmerge
dcbd0f3d0c
Auto merge of #35 - ebfull:stable-arith, r=ebfull
...
Introduce stable arithmetic to avoid nightly/unstable features for some platforms
This PR allows the user to opt-out of the "u128-support" feature so that they can use the stable compiler and avoid the unstable `i128_type` feature in the Rust compiler. (Pass `--no-default-features` to opt out.)
This roughly triples the cost of everything in my experience, but it's necessary on some platforms (`arm-linux-androideabi`) which Rust/LLVM doesn't compile 128-bit integers for correctly yet.
**Before this can be merged the CI needs to test against this being enabled or disabled.**
2017-08-22 17:53:46 +00:00
bmerge
68747b4174
Auto merge of #34 - mmaker:fix/is_in_correct_subgroup, r=ebfull
...
s/is_in_correct_subgroup/is_in_correct_subgroup_assuming_on_curve/
I added a new method`is_in_correct_subgroup_assuming_on_curve` and added the method `is_in_correct_subgroup` for the `CurveAffine` trait.
2017-08-16 16:26:16 +00:00