aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/2019/day5/aoc.cpp16
-rw-r--r--src/2019/day5/aoc.h3
2 files changed, 11 insertions, 8 deletions
diff --git a/src/2019/day5/aoc.cpp b/src/2019/day5/aoc.cpp
index d1d7c4b..844e400 100644
--- a/src/2019/day5/aoc.cpp
+++ b/src/2019/day5/aoc.cpp
@@ -95,16 +95,18 @@ static void run(size_t i, std::vector<int>& codes, std::vector<int>& outputs) {
}
}
-static int run(int i, std::vector<int> codes) {
- input = &i;
- input_sequence = 0;
- std::vector<int> outputs;
- run(0, codes, outputs);
- return outputs[outputs.size() - 1];
+static int run(int i, const std::vector<int>& codes) {
+ int is[] = {i};
+ set_computer(is);
+ return run_computer(codes);
}
-int int_computer(int i[], std::vector<int> codes) {
+void set_computer(int i[]) {
input = i;
+ input_sequence = 0;
+}
+
+int run_computer(std::vector<int> codes) {
std::vector<int> outputs;
run(0, codes, outputs);
return outputs[outputs.size() - 1];
diff --git a/src/2019/day5/aoc.h b/src/2019/day5/aoc.h
index 5c0e50e..2445f95 100644
--- a/src/2019/day5/aoc.h
+++ b/src/2019/day5/aoc.h
@@ -5,6 +5,7 @@
namespace aoc2019 {
-int int_computer(int i[], std::vector<int> codes);
+void set_computer(int i[]);
+int run_computer(std::vector<int> codes);
std::pair<int, int> day5(line_view);
}