4 releases
0.2.1 | Dec 24, 2020 |
---|---|
0.2.0 | Oct 19, 2020 |
0.1.1 | Oct 7, 2019 |
0.1.0 | Oct 7, 2019 |
#432 in Math
223 downloads per month
Used in 10 crates
165KB
4K
SLoC
Unsigned 256-bit integers
Implementation of 256-bit unsigned integers.
Warning. Side-channel resistance is currently not implemented. This library is optimized for performance and does not use slower side-channel resistant algorithms. Please evaluate the risks before using with sensitive data.
Note. Code coverage in Rust is still very early days. The above number is likely inaccurate. Please view the coverage report for details.
Feature flags
std
Build using libstd. (enabled by default)inline
Inline small operations like bitshifts, addition, multiplication, etc. This leads to better performance at the cost of larger code size. You can always force inlining by using the_inline
suffixed version of the operations. (enabled by default)use_rand
Add support for therand
crate to generate random numbers.
Testing
See CircleCI documentation on how to run tests locally.
Benchmark
Checkout master branch:
cargo bench --bench benchmark -- --save-baseline master
cargo bench --bench benchmark -- --baseline master
open target/criterion/report/index.html
Benchmarking using Mac OS' instrumentation. For this we need the cargo-instruments
plugin for Cargo.
cargo install cargo-instruments
You can then run tests under profiling. It is recommended to filter for a specific test.
cargo instruments --release --bench benchmark --open [test name]
Dependencies
~2–3.5MB
~64K SLoC