#pragma once #include #include #include "defs.h" extern "C" { #include "aberth_kernel.h" } using namespace std; class Kernel { futhark_context *ctx; int32_t N; void check_ret(int ret); public: static_assert(is_same::value); Kernel(); ~Kernel(); void run_job( vector &dest, int32_t width, int32_t height, Com bottomLeft, Com topRight, int32_t seed, int32_t start_index, int32_t poly_count); void run_all( vector &dest, int32_t width, int32_t height, Com bottomLeft, Com topRight, int32_t seed); void run_chunked( vector &dest, int32_t width, int32_t height, Com bottomLeft, Com topRight, int32_t seed, int32_t chunk_size); };