Commit Graph

49 Commits

Author SHA1 Message Date
Bananymous d2b503910f userspace: fix aoc2023 and aoc2024 linking
This patch makes aoc projects not link against system libc but the cmake
libc target. This allows compilation before libc is installed
2024-12-02 20:13:37 +02:00
Bananymous 9e1b5cbaab BuildSystem: Cleanup CMake code to allow libc only installation
There was no way to just install libc which is required for stdlibc++
2024-06-21 01:45:14 +03:00
Bananymous ad6d95ba52 BuildSystem: Rework the whole cmake build system
Now files are installed using the install() command instead of manually
copying files to their destinations. This allows automatic recompilation
of headers that did not work previously
2024-06-19 09:40:03 +03:00
Bananymous 318ce5dec8 All: Fix a lot of compiler warnings from header files
While reworking build system, header files started to report warnings.
2024-06-18 23:02:10 +03:00
Bananymous 06f4b0b29a BAN: Make String and StringView header only
This allows linking with libc without having to link ban
2024-05-23 15:43:26 +03:00
Bananymous 5dbe51a52e Userspace: Update printf formats to compile on 32 bit 2024-03-26 03:03:33 +02:00
Bananymous 40e341b0ee BAN: Remove unstable hash map and set
These can now be implemented safely with new linked list api
2024-02-06 17:35:15 +02:00
Bananymous 210b24b6e3 AOC2023: Delete file that should not be committed... 2024-01-24 15:53:38 +02:00
Bananymous dfe5a2d665 All: Cleanup all files
Add newline to end of files and remove whitespace from end of lines
2024-01-24 15:53:38 +02:00
Bananymous 8b5e437936 AOC2023: Implement day25 part1
7 starts missing + partly broken day22. I might finish these soon...
2023-12-26 20:04:42 +02:00
Bananymous d87fa1a7ea AOC2023: Implement day24 part1 2023-12-26 14:10:49 +02:00
Bananymous 910a57089b AOC2023: Implement day23 part1
My day22 implementation is off by couple of bricks...
2023-12-26 00:56:35 +02:00
Bananymous 36590fb5c7 AOC2023: Implement day21 part1 2023-12-24 14:58:21 +02:00
Bananymous ce990c3026 AOC2023: Implement day20 part1 2023-12-24 13:39:26 +02:00
Bananymous 4146f2777b AOC2023: Implement 10 hour solution to day19 part2 2023-12-23 20:53:50 +02:00
Bananymous 64323c51e6 AOC2023: Implement day19 part 1 2023-12-23 18:47:44 +02:00
Bananymous a0200a7b10 AOC2023: Implement day18 part 1 2023-12-23 18:47:21 +02:00
Bananymous 8add759b5d AOC2023: Implement day17 part1 2023-12-23 18:46:43 +02:00
Bananymous 2faf90bc2b AOC2023: Add script to create day template and download input 2023-12-23 18:46:14 +02:00
Bananymous 762d575d70 AOC2023: Add program to run all days 2023-12-23 18:45:40 +02:00
Bananymous 3b21cc90ae AOC2023: Add helper for downloading puzzle input 2023-12-19 22:22:31 +02:00
Bananymous 4e900804b8 AOC2023: Implement day16 2023-12-19 22:22:16 +02:00
Bananymous 9ec733904f AOC2023: Implement day15 2023-12-19 21:42:59 +02:00
Bananymous f46240e879 AOC2023: Implement day14 2023-12-19 02:49:48 +02:00
Bananymous 68627995f8 AOC2023: Implement day13 2023-12-19 01:25:23 +02:00
Bananymous 8344f2f9ab AOC2023: Fix day3 implementation
I accidently broke my day3 when messing with signed/unsigned integers
2023-12-14 11:03:19 +02:00
Bananymous 862993398d AOC2023: Implement day12
There seems to be a problem with my malloc so the hash map is not
working. This code worked fine on my linux with actually working
malloc :D
2023-12-14 10:51:48 +02:00
Bananymous 225c7c6ab4 AOC2023: Implement day11 2023-12-11 14:36:33 +02:00
Bananymous 58633ca373 AOC2023: Remove unnecessary loop 2023-12-10 20:18:59 +02:00
Bananymous 00d57d783e LibC+userspace: Make everything compile with -Wall -Wextra -Werror
I added -Wall -Wextra -Werror as public compile flags to libc. Now
everything in userspace in compiled using these flags. I made all
necessary changes to allow compilation to work.

Only exception is execvp which has a large stack usage. Maybe it
should use malloc for the buffer but posix allows ENOMEM only when
kernel is out of memory... This can be fixed when fexecve is
implemented and there is no need for absolute path.
2023-12-10 19:20:14 +02:00
Bananymous f077e17b2a AOC2023: Implement day10 2023-12-10 18:28:04 +02:00
Bananymous 99a5b6e2ef AOC2023: Cleanup day9 code
Move tree building to its own function. Both parts can use the same
tree. This also decreaseas memory usage by one element by row :D
2023-12-09 19:08:13 +02:00
Bananymous 0c3e5980d6 AOC2023: Implement day9 2023-12-09 16:22:43 +02:00
Bananymous 2b927b9729 BAN: Restructure sort functions and namespaces 2023-12-08 18:58:47 +02:00
Bananymous b523ccb893 AOC2023: Implement day8
Second part was kinda weird. You are supposted to assume something
of the input, which necessarily is not true.
2023-12-08 17:13:20 +02:00
Bananymous 7bb3172591 AOC2023: Use the default sort algorithm 2023-12-08 00:10:59 +02:00
Bananymous 669d55707e AOC2023: Use quick sort in solution 2023-12-07 11:55:28 +02:00
Bananymous 536bb74d53 AOC2023: optimize hand score calculation 2023-12-07 09:26:17 +02:00
Bananymous efd8be8207 AOC2023: implement day7 2023-12-07 07:56:56 +02:00
Bananymous 531211e09d AOC2023: implement day6 2023-12-06 07:27:25 +02:00
Bananymous 82cb2ea20b AOC2023: implement day5 2023-12-05 09:13:13 +02:00
Bananymous cf76d2e7d9 AOC2023: remove unnecessary loop 2023-12-04 17:54:10 +02:00
Bananymous 41f8974080 AOC2023: implement day4 2023-12-04 17:51:27 +02:00
Bananymous 3ed25425a3 AOC2023: implement day3
Solution to second puzzle is not optimal, it definately should be
O(1) space, but I didn't want to think about it.
2023-12-03 17:07:09 +02:00
Bananymous 49f8c4268f AOC2023: implement day2 2023-12-02 16:10:37 +02:00
Bananymous 70c224d8ea AOC2023: Cleanup day1 code 2023-12-01 13:31:55 +02:00
Bananymous 6a7335e5c9 AOC2023: implement day1 2023-12-01 12:38:01 +02:00
Bananymous 3aaa755c51 AOC2023: update buildsystem 2023-12-01 12:38:01 +02:00
Bananymous dabd79afa7 Userspace: Prepare aoc2023 environment :) 2023-12-01 01:22:53 +02:00