diff options
| author | Bond_009 <bond.009@outlook.com> | 2020-12-04 18:37:07 +0100 |
|---|---|---|
| committer | Bond_009 <bond.009@outlook.com> | 2020-12-04 18:37:07 +0100 |
| commit | e602cff985169e792ca2f5fe047c4cc8ab5ad040 (patch) | |
| tree | c9308b54b06a78fe9e530c291b7ec97926b0a72b | |
| parent | 7465602d9b2f7b23976d0905249fd085f4364300 (diff) | |
Support benchmarking
| -rw-r--r-- | 1/part1.c | 7 | ||||
| -rw-r--r-- | 1/part2.c | 7 | ||||
| -rw-r--r-- | 1/part2_fast.c | 7 | ||||
| -rw-r--r-- | 2/part1.c | 8 | ||||
| -rw-r--r-- | 2/part2.c | 8 | ||||
| -rw-r--r-- | 3/part1.c | 4 | ||||
| -rw-r--r-- | 3/part2.c | 4 | ||||
| -rw-r--r-- | 4/part1.c | 4 | ||||
| -rw-r--r-- | 4/part2.c | 4 | ||||
| -rwxr-xr-x | prepare | 4 | ||||
| -rwxr-xr-x | run | 3 |
11 files changed, 42 insertions, 18 deletions
@@ -18,9 +18,12 @@ int repair(const int * arr) return 0; } -int main() +int main(int argc, char *argv[]) { - FILE *file = fopen("input", "r"); + FILE *file = fopen(argv[1], "r"); + if (!file) { + return 1; + } char buffer[8] = { 0 }; int input[INPUT_LEN] = { 0 }; @@ -20,9 +20,12 @@ int repair(const int *arr) return 0; } -int main() +int main(int argc, char *argv[]) { - FILE *file = fopen("input", "r"); + FILE *file = fopen(argv[1], "r"); + if (!file) { + return 1; + } char buffer[8] = { 0 }; int input[INPUT_LEN] = { 0 }; diff --git a/1/part2_fast.c b/1/part2_fast.c index 1d9afb1..b38894b 100644 --- a/1/part2_fast.c +++ b/1/part2_fast.c @@ -121,9 +121,12 @@ int repair_avx(const int *arr) return 0; } -int main() +int main(int argc, char *argv[]) { - FILE *file = fopen("input", "r"); + FILE *file = fopen(argv[1], "r"); + if (!file) { + return 1; + } char buffer[8] = { 0 }; int input[INPUT_LEN] = { 0 }; @@ -20,9 +20,13 @@ bool is_valid_password(char *pass, char *policy) return occ >= min && occ <= max; } -int main() +int main(int argc, char *argv[]) { - FILE *file = fopen("input", "r"); + FILE *file = fopen(argv[1], "r"); + if (!file) { + return 1; + } + char buffer[128] = { 0 }; int valid = 0; while (fgets(buffer, 128, file)) { @@ -13,9 +13,13 @@ bool is_valid_password(char *pass, char *policy) return (pass[pos1] == c) != (pass[pos2] == c); } -int main() +int main(int argc, char *argv[]) { - FILE *file = fopen("input", "r"); + FILE *file = fopen(argv[1], "r"); + if (!file) { + return 1; + } + char buffer[128] = { 0 }; int valid = 0; while (fgets(buffer, 128, file)) { @@ -31,7 +31,7 @@ int count_trees(const char *filename) return hit; } -int main() +int main(int argc, char *argv[]) { - printf("%i", count_trees("input")); + printf("%i", count_trees(argv[1])); } @@ -33,8 +33,8 @@ int count_trees(int inc_right, int inc_down, const char *filename) return hit; } -int main() +int main(int argc, char *argv[]) { - long mul = (long)count_trees(1, 1, "input") * count_trees(3, 1, "input") * count_trees(5, 1, "input") * count_trees(7, 1, "input") * count_trees(1, 2, "input"); + long mul = (long)count_trees(1, 1, argv[1]) * count_trees(3, 1, argv[1]) * count_trees(5, 1, argv[1]) * count_trees(7, 1, argv[1]) * count_trees(1, 2, argv[1]); printf("%li\n", mul); } @@ -62,7 +62,7 @@ int count_valid_passports(const char *filename) return correct; } -int main() +int main(int argc, char *argv[]) { - printf("%i", count_valid_passports("input")); + printf("%i", count_valid_passports(argv[1])); } @@ -129,7 +129,7 @@ int count_valid_passports(const char *filename) return correct; } -int main() +int main(int argc, char *argv[]) { - printf("%i", count_valid_passports("input")); + printf("%i", count_valid_passports(argv[1])); } @@ -0,0 +1,4 @@ +#!/bin/bash + +cd "$1" +gcc -Wall -pedantic -O3 -march=native -mtune=native -flto -o "part$2" "part$2.c" @@ -0,0 +1,3 @@ +#!/bin/bash + +./$1/part$2 "$3" |
