From f83ffbaee7928960ea7327b5cc6939791ae575e3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Luk=C3=A1=C5=A1=20Ondr=C3=A1=C4=8Dek?= Date: Tue, 28 May 2024 17:08:11 +0200 Subject: [PATCH] fixup! rrl: renaming, movements, create defer protolayer --- lib/kru-avx2.c | 3 +++ lib/kru-generic.c | 4 ++++ lib/kru.h | 1 + 3 files changed, 8 insertions(+) diff --git a/lib/kru-avx2.c b/lib/kru-avx2.c index 183ae448e..453d1336d 100644 --- a/lib/kru-avx2.c +++ b/lib/kru-avx2.c @@ -40,7 +40,9 @@ #define USE_AVX2 1 #define USE_SSE41 1 +#include "lib/defines.h" #include "./kru.inc.c" +KR_EXPORT const struct kru_api KRU_AVX2 = KRU_API_INITIALIZER; #ifdef __clang__ @@ -61,6 +63,7 @@ static void detect_CPU_avx2(void) #else #include "./kru.h" +KR_EXPORT const struct kru_api KRU_AVX2 = {NULL}; #endif diff --git a/lib/kru-generic.c b/lib/kru-generic.c index 71ffdd41c..8d122fd83 100644 --- a/lib/kru-generic.c +++ b/lib/kru-generic.c @@ -14,7 +14,11 @@ along with this program. If not, see . */ +#include "lib/defines.h" #include "./kru.inc.c" +KR_EXPORT const struct kru_api KRU_GENERIC = KRU_API_INITIALIZER; + +KR_EXPORT struct kru_api KRU = KRU_API_INITIALIZER; // generic version is the default diff --git a/lib/kru.h b/lib/kru.h index 6972fe8e1..3acf56296 100644 --- a/lib/kru.h +++ b/lib/kru.h @@ -80,6 +80,7 @@ struct kru_api { uint8_t (*limited_multi_prefix_or)(struct kru *kru, uint32_t time_now, uint8_t namespace, uint8_t key[static 16], uint8_t *prefixes, kru_price_t *prices, size_t queries_cnt, uint16_t *max_load_out); }; + // The functions are stored this way to make it easier to switch // implementation based on detected CPU. extern struct kru_api KRU; -- 2.47.2