From 27987d1af79699f2c7532a3013f7c142825ceb85 Mon Sep 17 00:00:00 2001 From: Boris Stefanovic <owldev@bluewin.ch> Date: Tue, 24 May 2022 16:12:25 +0200 Subject: [PATCH] ADD: distance and argv usage --- src/distance.c | 13 +++++++++---- src/main.c | 9 ++++++++- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/distance.c b/src/distance.c index 79c24d2..922e240 100644 --- a/src/distance.c +++ b/src/distance.c @@ -20,9 +20,7 @@ double distance_euclid_int(const vector_int_t* p1, const vector_int_t* p2) { return sqrt((double) acc); } -inline int_t - -abs_diff(const int_t a1, const int_t a2) { +int_t abs_diff(const int_t a1, const int_t a2) { int_t diff = a2 - a1; return diff >= 0 ? diff : -diff; } @@ -39,5 +37,12 @@ double distance_manhattan_int(const vector_int_t* p1, const vector_int_t* p2) { } double distance_chebyshev_int(const vector_int_t* p1, const vector_int_t* p2) { - return ERROR; + if (p1->dim != p2->dim)return ERROR; + int_t max = ERROR; + int_t item; + for (size_t i = 0; i < p1->dim; ++i) { + item = abs_diff(p1->data[i], p2->data[i]); + if (item > max) max = item; + } + return (double) max; } diff --git a/src/main.c b/src/main.c index 58fde71..d675d0b 100644 --- a/src/main.c +++ b/src/main.c @@ -1,6 +1,13 @@ +#include <stdio.h> #include <stdlib.h> -int main(int argc, char **argv) { +int main(int argc, char** argv) { + fprintf(stderr, "USAGE: %s <INPUT_FILE> <OUTPUT_FILE>\n", argv[0]); + char* ipath = "/dev/stdin"; + char* opath = "/dev/stdout"; + if (argc > 1) ipath = argv[1]; + if (argc > 2) opath = argv[2]; + // TODO return EXIT_SUCCESS; } -- GitLab