common startup

This commit is contained in:
Eric Mertens 2022-11-06 11:33:20 -08:00
parent 675a73ddd3
commit 6a34b0f309
10 changed files with 18 additions and 18 deletions

View File

@ -16,8 +16,8 @@ auto Compute(Machine machine, ValueType x, ValueType y) {
} // namespace } // namespace
auto main() -> int { auto main(int argc, char** argv) -> int {
auto machine = Machine{ParseStream(std::cin)}; auto machine = Startup(argc, argv);
std::cout << "Part 1: " << Compute(machine, 12, 2) << std::endl; std::cout << "Part 1: " << Compute(machine, 12, 2) << std::endl;

View File

@ -16,8 +16,8 @@ auto Compute(Machine machine, ValueType d) -> ValueType {
} // namespace } // namespace
auto main() -> int { auto main(int argc, char** argv) -> int {
auto machine = Machine{ParseStream(std::cin)}; auto machine = Startup(argc, argv);
std::cout << "Part 1: " << Compute(machine, 1) << std::endl; std::cout << "Part 1: " << Compute(machine, 1) << std::endl;
std::cout << "Part 2: " << Compute(std::move(machine), 5) << std::endl; std::cout << "Part 2: " << Compute(std::move(machine), 5) << std::endl;
} }

View File

@ -58,8 +58,8 @@ auto optimize(Machine machine, std::vector<ValueType> params, F f) {
} // namespace } // namespace
auto main() -> int { auto main(int argc, char** argv) -> int {
auto machine = Machine{ParseStream(std::cin)}; auto machine = Startup(argc, argv);
std::cout << "Part 1: " << optimize(machine, {0, 1, 2, 3, 4}, compute1) << std::endl; std::cout << "Part 1: " << optimize(machine, {0, 1, 2, 3, 4}, compute1) << std::endl;
std::cout << "Part 2: " << optimize(std::move(machine), {5, 6, 7, 8, 9}, compute2) << std::endl; std::cout << "Part 2: " << optimize(std::move(machine), {5, 6, 7, 8, 9}, compute2) << std::endl;
} }

View File

@ -16,8 +16,8 @@ auto Compute(Machine machine, ValueType d) -> ValueType {
} // namespace } // namespace
auto main() -> int { auto main(int argc, char** argv) -> int {
auto machine = Machine{ParseStream(std::cin)}; auto machine = Startup(argc, argv);
std::cout << "Part 1: " << Compute(machine, 1) << std::endl; std::cout << "Part 1: " << Compute(machine, 1) << std::endl;
std::cout << "Part 2: " << Compute(std::move(machine), 2) << std::endl; std::cout << "Part 2: " << Compute(std::move(machine), 2) << std::endl;
} }

View File

@ -35,8 +35,8 @@ auto Compute(Machine machine, ValueType start)
} // namespace } // namespace
auto main() -> int { auto main(int argc, char** argv) -> int {
auto machine = Machine{ParseStream(std::cin)}; auto machine = Startup(argc, argv);
std::cout << "Part 1: " << Compute(machine, 0).size() << "\nPart 2\n"; std::cout << "Part 1: " << Compute(machine, 0).size() << "\nPart 2\n";
Draw(std::cout, Compute(std::move(machine), 1)); Draw(std::cout, Compute(std::move(machine), 1));
} }

View File

@ -57,8 +57,8 @@ auto Compute2(Machine machine) {
} // namespace } // namespace
auto main() -> int { auto main(int argc, char** argv) -> int {
auto machine = Machine{ParseStream(std::cin)}; auto machine = Startup(argc, argv);
std::cout << "Part 1: " << Compute1(machine) << std::endl; std::cout << "Part 1: " << Compute1(machine) << std::endl;
std::cout << "Part 2: " << Compute2(std::move(machine)) << std::endl; std::cout << "Part 2: " << Compute2(std::move(machine)) << std::endl;
} }

View File

@ -88,8 +88,8 @@ auto Compute(std::map<Coord, ValueType> world) -> std::pair<int, int> {
} // namespace } // namespace
auto main() -> int { auto main(int argc, char** argv) -> int {
auto [p1,p2] = Compute(Explore(Machine{ParseStream(std::cin)})); auto [p1,p2] = Compute(Explore(Startup(argc, argv)));
std::cout << "Part 1: " << p1 << std::endl; std::cout << "Part 1: " << p1 << std::endl;
std::cout << "Part 2: " << p2 << std::endl; std::cout << "Part 2: " << p2 << std::endl;
} }

View File

@ -54,9 +54,8 @@ auto Interact(Ethernet & ethernet, Machine & m, std::optional<Payload> p) -> voi
} // namespace } // namespace
auto main() -> int { auto main(int argc, char** argv) -> int {
std::ifstream fin { "/Users/emertens/Source/advent/inputs/2019/23.txt" }; auto machines = BuildNetwork(Startup(argc, argv));
auto machines = BuildNetwork(Machine{ParseStream(fin)});
auto ethernet = Ethernet{}; auto ethernet = Ethernet{};
std::optional<ValueType> part1; std::optional<ValueType> part1;

View File

@ -1,2 +1,2 @@
add_library(intcode src/Coord.cpp src/Parser.cpp src/Interpreter.cpp src/Machine.cpp) add_library(intcode src/Coord.cpp src/Parser.cpp src/Interpreter.cpp src/Machine.cpp src/Startup.cpp)
target_include_directories(intcode PUBLIC include) target_include_directories(intcode PUBLIC include)

View File

@ -4,6 +4,7 @@
#include <intcode/Interpreter.hpp> #include <intcode/Interpreter.hpp>
#include <intcode/Machine.hpp> #include <intcode/Machine.hpp>
#include <intcode/Parser.hpp> #include <intcode/Parser.hpp>
#include <intcode/Startup.hpp>
#include <Overload.hpp> #include <Overload.hpp>
#endif #endif