## Description
The `cuckoo.MinimumLoad()` option was not a very useful option, and prone to error. By removing the ability to modify it, and setting it to something reasonable (like 5%), we can remove a whole set of errors that the user may stumble into.
## Changes
- Remove `MinimumLoad()` option.
- Privated `DefaultMinimumLoad`.
### Design Decisions
- `DefaultMinimumLoad` should be privated because it is no longer an option. The user should not need to interact with it.
## Checklist
- [x] Tests pass
- [x] Docs updated
Reviewed-on: #17
- Added all `Option`-s to the fuzz tests.
- Minimum load is always <=20%.
- Tested all options, and force a panic on all invalid options.
- Capacity must now be non-negative.
- Minimum load should be <=20%, but just put it as a recommendation.
Reviewed-on: #9
Co-authored-by: M.V. Hutz <git@maximhutz.me>
Co-committed-by: M.V. Hutz <git@maximhutz.me>
Currently, the `Table.Drop()` function is deprecated because it is not implemented yet. Let's add that functionality.
- Adds true drop functionality to the table, through `Table.Drop()`.
- Adds tests for functionality.
- Rewrites fuzz test using `go_fuzz_utils`, to test arbitrary usage patterns.
- Rewrite `bucket` to allow a capacity of zero.
- Rename `Table.Capacity()` to `Table.TotalCapacity()`, to reflect to different between the capacity of the buckets vs. the whole table.
- Enforce 100% mutation test coverage.
Reviewed-on: #6
Co-authored-by: M.V. Hutz <git@maximhutz.me>
Co-committed-by: M.V. Hutz <git@maximhutz.me>
Moved the implementation of this hash table from `tools/dsa` #1.
Reviewed-on: #1
Co-authored-by: M.V. Hutz <git@maximhutz.me>
Co-committed-by: M.V. Hutz <git@maximhutz.me>