day05.lib package
Submodules
day05.lib.classes module
classes for day05.
- class day05.lib.classes.Mapping(src_start: int, dest_start: int, size: int, injected: bool = False)[source]
Bases:
object
Simple range based mapping.
- dest_end: int
- dest_start: int
- get_mappings(start: int, end: int) tuple[MappingRange, int] [source]
Returns the chunk from start to end, followed by the remainder.
- injected: bool = False
- size: int
- src_end: int
- src_start: int
- class day05.lib.classes.MappingRange(start: int, end: int)[source]
Bases:
object
Simple class for start/end range.
- end: int
- start: int
- class day05.lib.classes.NamedMap(name: str)[source]
Bases:
object
a named map with a list of mappings.
- extend_mapping_range(mappings: list[Mapping]) list[Mapping] [source]
Ensure that mappings go from 0 -> INT_MAX.
- finalize_mappings() None [source]
Post processes the mappings.
Sorts the mappings
Fills in any missing ranges
Homogenizes so min_mapping is 0, and max_mapping is INT_MAX
- get_mapping(value: int) int [source]
Uses binary search to grab the correct mapping, then apply it to one value.
- get_mapping_range(src_mapping_range: MappingRange) list[MappingRange] [source]
Remaps a source range to a list of destination ranges.
- get_mapping_ranges(src_mapping_ranges: list[MappingRange]) list[MappingRange] [source]
Given a list of mapping ranges, returns a new list of mapping ranges.
- name: str
day05.lib.parsers module
Parsing from source file to well defined classes.
Module contents
libraries for day05.