aboutsummaryrefslogtreecommitdiff
path: root/crates/equix/src/bucket_array.rs
Commit message (Collapse)AuthorAgeFilesLines
* equix/fuzz: CI and doc fixesMicah Elizabeth Scott2023-08-021-6/+9
| | | | | | | | The build found a stale private doc comment as well as an exception that needed to be made in check_doc_features. The check_doc_features change solidifies a decision that things marked with cfg(fuzzing) aren't part of the documented API.
* equix/fuzz: Fixes to get nick's prototype runningMicah Elizabeth Scott2023-08-011-8/+2
| | | | | | | | | There are some places we might improve this, maybe testing more data types and shapes. This patch just makes the minimal changes necessary to get it working: adds allocation logic to the fuzzer itself, and adds visibility for the bucket_array::mem interface. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* equix: Refactoring for bucket_arrayMicah Elizabeth Scott2023-07-271-412/+15
| | | | | | | This splits up bucket_array into two smaller modules, one for the hash table behavior and one for the MaybeUninit memory management. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* Reimplement Equi-X in RustMicah Elizabeth Scott2023-07-271-0/+417
This is a new pure Rust implementation of the Equi-X algorithm designed by tevador for Tor's onion service proof of work puzzle v1. Equi-X is an asymmetric puzzle algorithm based on Equihash, with N=60, K=3, the XOR replaced with modular addition, a 16-bit index space, and HashX as the inner hash function. Signed-off-by: Micah Elizabeth Scott <[email protected]>