#pragma once #include #include #define THREADS 4 #define merge_init(array, size) {(array), 0, {1, (size)}} typedef struct{ int start; int final; } SLICE; typedef struct { int* array; int _depth; SLICE slice; } mrg_t; void* merge_sort(void*); void merge(int array[], uint8_t start, uint8_t middle, uint8_t final);