risc0-curve25519-dalek-source/src
Tony Arcieri 081f632d91
Implement simplified backend selection (#428)
As proposed in #414, this commit changes the backend selection approach,
introspecting `target_pointer_width` to select `u32_backend` vs
`u64_backend` (or `fiat_u32_backend`/`fiat_u64_backend` if the
`fiat_backend` feature is enabled).

This helps eliminate the use of non-additive features, and also the
rather confusing errors that happen if multiple backends are selected
(i.e. thousands of lines of rustc errors).

The selection logic checks if `target_pointer_width = "64"` and uses the
64-bit backend, or falls back to the 32-bit backend otherwise. This
means the crate will always have a valid backend regardless of the
pointer width, although there may be odd edge cases for exotic platforms
which would optimally use the 64-bit backend but have a non-"64" target
pointer width for whatever reason. We can handle those cases as they
come up.
2022-11-13 12:17:42 -05:00
..
backend Implement simplified backend selection (#428) 2022-11-13 12:17:42 -05:00
constants.rs Implement simplified backend selection (#428) 2022-11-13 12:17:42 -05:00
edwards.rs cargo fmt 2022-10-28 17:00:24 -04:00
field.rs Implement simplified backend selection (#428) 2022-11-13 12:17:42 -05:00
lib.rs Include README.md into the crate Documentation 2022-11-11 22:36:57 +11:00
macros.rs cargo fmt 2022-10-28 17:00:24 -04:00
montgomery.rs cargo fmt 2022-10-28 17:00:24 -04:00
prelude.rs Update copyright years. 2021-08-03 23:13:45 +00:00
ristretto.rs Fix double-and-compress on Ristretto identity (issue #398). (#399) 2022-11-05 11:35:30 -04:00
scalar.rs Implement simplified backend selection (#428) 2022-11-13 12:17:42 -05:00
traits.rs Updated to edition 2021 (#413) 2022-10-18 13:45:59 -04:00
window.rs cargo fmt 2022-10-28 17:00:24 -04:00