From 26ab990a747ab675bcff32a40734dcb61468f652 Mon Sep 17 00:00:00 2001 From: Gediminas Jakutis Date: Wed, 17 Feb 2021 08:57:56 +0200 Subject: Most of sorting an array in memory is wired up. Signed-off-by: Gediminas Jakutis --- src/main.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index 390be6a..c2d24ce 100644 --- a/src/main.c +++ b/src/main.c @@ -12,6 +12,7 @@ #include "defs.h" #include "cache.h" #include "datagen.h" +#include "mergesort.h" static struct settings settings = {0}; @@ -64,11 +65,11 @@ int main(int argc, char **argv) } break; case mode_generate: - try_s((ret = cache_transfer(&file_in, &file_out)), out); - break; + try_s((ret = cache_transfer(&file_in, &file_out)), out); + break; case mode_normal: - /* TODO */ - ; + try_s((ret = cache_create(&file_out)), out); + try_s((ret = merge_sort(&file_in, &file_out)), out); } } else { /* uncached */ @@ -175,21 +176,23 @@ int load_io_functions(struct settings const * const s, struct stream * const in) if (in->type == stream_out) { if (s->format == array) { - /* TODO */ - } else { + in->get_next_element_cache = cached_get_array; + in->place_next_element_cache = cached_put_array; + } else { /* if (s->format == list */ /* TODO */ } } else if (in->type == stream_in) { /* reading streams do not support dumping */ if (s->format == array) { - /* TODO */ - } else { + in->get_next_element_cache = cached_get_array; + in->place_next_element_cache = cached_put_array; + } else { /* if (s->format == list */ /* TODO */ } } else if (in->type == stream_randread) { /* data generation streams do not support dumping nor any cache I/O beyond initial data generation */ if (s->format == array) { in->get_next_element_direct = gen_get_array; in->place_next_element_cache = cached_put_array; - } else { + } else { /* if (s->format == list */ in->get_next_element_direct = gen_get_list; in->place_next_element_cache = cached_put_list; } -- cgit v1.2.3