-
Andrew Jones authored
* BinaryHeap::new() * Failing FromIterator test * Dumb push impl * Dumb peek impl * Naive push implementation * Copy in some reference impls for inspiration * WIP: use storage2::Vec and implement pop * Fix sift_up * Fix sift_down * Test with heap from slice * Add pass through clear impl * Add storage trait impls * Add binary_heap bench, start experimentation # Conflicts: # core/Cargo.toml * Add tests for push/pull from storage * Get basic bench working for pushing largest value * Fmt * Prevent storage from being cleared in test env * iter batched * Make inline setup to test consistency * Revert to iter_batch tests * Add populated cache benches * Fmt * Factor out bench push * Refactor benchmark loop on push * Configure warm-up and measurement times to improve consistency * Remove redundant test * Refactor push benches * Refactor push benches again * Add Pop benchmark * Fmt * Add some comments to the benchmarks * Remove some todos * Use iter_batched_ref * Fix pop benchmark name * Add test for worst case O(log n) push * Fmt * Add push test * Add peek and pop test * Fix up sift comments and log tests * Comments * Add Reverse wrapper type for min heaps * Fmt * Peek mut * Fmt * Add empty tests * Check complexity of pushing smallest value * Test drop clears cells * Fix stable build * Basic property test * Fix wasm build * Fmt * Derive Default, PartialEq, Eq * Add property test to feature * Fix doc links * Fmt * Remove commented out println * Avoid potential false positive * Add punctuation * Comments * Fmt * Move binary_heap to crates * Make it compile * Fix up doc test and benches * Fmt * Fix license headers