dwavesystems / dwavesystems/dwave-optimization
Use predecessor `min()` and `max()` data in `IsInNode`
- Dominant language
- C++
- Stars
- 31
- Forks
- 36
- Avg merge
- 16h 55m
- Merged PRs (30d)
- 8
Description
In its current implementation, `IsInNode` creates its state data structure without any knowledge about its predecessors `min` and `max` values. For integral predecessors, we could optimize this by preallocating the memory at construction. This could open up the door for different data structure (as opposed to the current `std::unordered_map`), e.g. a modified sparse set.
Contributor guide
Research direction
Start by locating the IsInNode implementation and examining how it obtains predecessor min and max values. Determine how integral predecessors could provide construction-time sizing while preserving current behavior, then evaluate whether the existing std::unordered_map or an alternative data structure is appropriate. Done means the state data structure uses the available bounds without changing IsInNode semantics.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100