|
|
94cffbbd74
|
visualization: Add Color Enum
visualization: add draw methods for points and rectangles
|
2024-01-01 21:41:08 +01:00 |
|
|
|
e3309415b7
|
tools.minmax(): remove broken code; why was that even there?
|
2024-01-01 21:40:00 +01:00 |
|
|
|
2d7d339bf0
|
visualization.Window(): better boundary box handling
|
2023-12-28 06:54:54 +01:00 |
|
|
|
ed0fe0dafc
|
visualization.Window.done(): choose to realign or not (default: yes)
|
2023-12-28 06:48:22 +01:00 |
|
|
|
87eff61ae2
|
visualization.Window.realign(): scale to fit
|
2023-12-28 06:47:17 +01:00 |
|
|
|
0aedd1c612
|
NEW: visualization.Window(): simple Tk visualization class, can just draw some lines for now, but with working realignment, zooming and panning
|
2023-12-28 06:09:16 +01:00 |
|
|
|
8dea09c30f
|
expand coordinate.Line functionality
|
2023-12-28 06:07:39 +01:00 |
|
|
|
f7d1fde5b7
|
NEW: itertools.len_combinations_of_sum()
|
2023-12-26 12:49:37 +01:00 |
|
|
|
600d0e716c
|
combinations_of_sum moved to new itertools module
|
2023-12-25 23:17:18 +01:00 |
|
|
|
5d5e9fb8e5
|
NEW: AOCDay.run_part(): when timing, shift all following progress bars down by one to not interfere
|
2023-12-25 19:45:31 +01:00 |
|
|
|
916ab481cf
|
NEW: AOCDay.progress() - add a progress bar to your long-running solutions
|
2023-12-25 15:47:36 +01:00 |
|
|
|
4ce70c8565
|
AOCDay.run_part(): When in timeit mode, display progress bar
|
2023-12-25 12:31:06 +01:00 |
|
|
|
ee3b5ee941
|
Stopwatch() can now be restarted and will automatically sum up all intervals between start() and stop() calls
|
2023-12-25 12:29:49 +01:00 |
|
|
|
4d1b075086
|
NEW: itertools.len_permutations() and itertools.len_combinations() -> get the amount of results the respective itertools function would yield
|
2023-12-25 11:24:12 +01:00 |
|
|
|
1e43a2ff0d
|
NEW: coordinate.Line() - only 2D for now, but can calc intersections
|
2023-12-24 12:14:47 +01:00 |
|
|
|
cc1fd86ede
|
NEW: Coordinate() now accepts floats; what can possibly go wrong?
|
2023-12-24 12:13:58 +01:00 |
|
|
|
9386c40ea5
|
FIX: Coordinate.__new__(): return correct class instead of always Coordinate() (fucked up subclassing)
|
2023-12-23 09:44:36 +01:00 |
|
|
|
14d535911c
|
NEW: Coordinate().__mod__()
|
2023-12-22 05:55:29 +01:00 |
|
|
|
fb3bef0153
|
Coordinate().getLineTo(): handle target == self
|
2023-12-18 16:38:11 +01:00 |
|
|
|
ffcc1e14c0
|
NEW tools.list_combinations_of_sum() - returns all possible tuples with len [length}, containing integers summing up to {total_sum}
|
2023-12-18 09:12:34 +01:00 |
|
|
|
1a111488ba
|
FIX Coordinate().getLineTo() index bug
|
2023-12-18 09:11:06 +01:00 |
|
|
|
02623f8c9a
|
NEW Grid.getRegion() -> Generator over all Coordinates of connected cells with the same value inside Grid borders
|
2023-12-18 07:00:05 +01:00 |
|
|
|
b2cc1e814c
|
FIX Coordinate().getNeighbours() min/maxY
Publish to PyPI / Publish to PyPI (push) Successful in 1m4s
FIX Coordinate() not hashable after implementing __eq__
|
2023-12-17 08:24:19 +01:00 |
|
|
|
42cbf6f85c
|
Coordinate().__eq__: enable comparison with tuples
|
2023-12-17 07:21:00 +01:00 |
|
|
|
2bec56eb1c
|
AOCDay.is_test() returns a bool, True if the solution for the current part/input_file is known; else False
|
2023-12-16 12:04:11 +01:00 |
|
|
|
f0e499f0a3
|
escape patterns want to be raw strings
|
2023-12-15 07:34:38 +01:00 |
|
|
|
1fb4582908
|
AOCDay._submit(): maybe display rank on correct answer?
|
2023-12-15 07:30:06 +01:00 |
|
|
|
2de9725adb
|
Grid(): make use of the fact that Coordinate is a tupple for some speedups
Publish to PyPI / Publish to PyPI (push) Successful in 1m18s
|
2023-12-14 16:18:25 +01:00 |
|
|
|
32c07d2913
|
Coordinate() now behaves more tupley-like (methods not accept tuples as parameters, including __add__ and __sub__)
|
2023-12-14 15:08:49 +01:00 |
|
|
|
0408432e3d
|
Grid() is now hashable
|
2023-12-14 11:24:37 +01:00 |
|
|
|
f22c3bd798
|
Grid.isWithinBoundaries(): allow for boundary padding
|
2023-12-14 09:55:51 +01:00 |
|
|
|
c4b9b10b71
|
Grid.get_column() and Grid.get_row()
|
2023-12-13 06:37:24 +01:00 |
|
|
|
a47077f102
|
convey high/low hints if present
Publish to PyPI / Publish to PyPI (push) Successful in 1m29s
|
2023-12-03 14:53:56 +01:00 |
|
|
|
db23b11a98
|
convey high/low hints if present
|
2023-12-03 14:51:57 +01:00 |
|
|
|
de8796d415
|
Grid.from_data()
|
2023-12-03 14:35:17 +01:00 |
|
|
|
af443c94b2
|
Grid.from_data()
|
2023-12-03 14:34:08 +01:00 |
|
|
|
e54e7afd6c
|
mul() equivalent to sum()
|
2023-12-02 07:26:47 +01:00 |
|
|
|
12f3e58d85
|
make human readable time actually human readable
|
2023-12-01 17:29:24 +01:00 |
|
|
|
89edb0a6d7
|
getInput variant, that only returns integers from input lines
|
2023-12-01 07:37:25 +01:00 |
|
|
|
c2f6191d69
|
don't need to implement comparison dunders for Coordinate anymore as it now behaves like a tuple which already includes useful comparators
Publish to PyPI / Publish to PyPI (push) Successful in 1m11s
|
2023-11-27 06:17:59 +01:00 |
|
|
|
0daa028368
|
create inputs directory if it doesn't exist
Publish to PyPI / Publish to PyPI (push) Successful in 1m11s
|
2023-11-12 19:12:29 +01:00 |
|
|
|
99c4ef2ce6
|
code reformatting and cleanup
Publish to PyPI / Publish to PyPI (push) Failing after 5s
|
2023-11-11 15:37:42 +01:00 |
|
|
|
455bd34d3b
|
build/publish pipeline
|
2023-11-11 15:02:27 +01:00 |
|