Skip to main content

ph_temp/phast/
mod.rs

1//! Perfect Hashing with fast evaluation.
2
3pub mod compressed_array;
4pub use compressed_array::{CompressedArray, CompressedBuilder, DefaultCompressedArray};
5
6mod builder;
7mod conf;
8pub use conf::{Params, bits_per_seed_to_100_bucket_size};
9
10mod cyclic;
11mod evaluator;
12pub use evaluator::{BucketToActivateEvaluator, Weights};
13
14mod function;
15pub use function::Function;
16
17mod function2;
18pub use function2::Function2;
19
20mod perfect;
21pub use perfect::Perfect;
22
23mod partial;
24pub use partial::Partial;
25
26mod seed_chooser;
27pub use seed_chooser::{SeedChooser, SeedOnly, ShiftOnly, ShiftOnlyWrapped, ShiftSeedWrapped, SeedOnlyK};
28
29/// Power of two grater or equal than `WINDOW_SIZE`.
30const MAX_WINDOW_SIZE: usize = 256;
31
32/// Power of two grater or equal then range of values covered by the window.
33//const MAX_VALUES: usize = 4096;
34const MAX_VALUES: usize = 4096 * 2  *2; // TODO only MT require last *2; maybe switch to dynamic allocation?
35
36/// Window size. Maximum number of elements in the priority queue.
37const WINDOW_SIZE: u16 = 256;