• Andrew Jones's avatar
    [core] storage2::BinaryHeap (#481) · 75ad19a2
    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
    75ad19a2