From 3f0c21826b4a4e59c937dc8435edb5be7100b078 Mon Sep 17 00:00:00 2001 From: Gediminas Jakutis Date: Mon, 15 Feb 2021 12:26:42 +0200 Subject: now with configurable data size! Signed-off-by: Gediminas Jakutis --- src/defs.h | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/defs.h b/src/defs.h index f6a7f91..a7a678d 100644 --- a/src/defs.h +++ b/src/defs.h @@ -22,6 +22,25 @@ goto l;\ }} while (0); +#if entry_field_size == 16 +# ifdef entry_field_signed + typedef int16_t field; +# else + typedef uint16_t field; +# endif +#elif entry_field_size == 32 +# ifdef entry_field_signed + typedef int32_t field; +# else + typedef uint32_t field; +# endif +#else +# ifdef entry_field_signed + typedef int64_t field; +# else + typedef uint64_t field; +# endif +#endif #define get(in) (in->settings->access == cached ? in->get_next_element_cache(in) : in->get_next_element_direct(in)) #define put(in, data) (in->settings->access == cached ? in->place_next_element_cache(in, data) : in->place_next_element_direct(in, data)) @@ -44,7 +63,7 @@ union cachewrap { /* for array implementation */ struct entry { - uint64_t val; + field val; }; /* for linked list implementation */ -- cgit v1.2.3