summaryrefslogtreecommitdiffstats
path: root/src/defs.h
diff options
context:
space:
mode:
authorGravatar Gediminas Jakutis <gediminas@varciai.lt> 2021-03-03 16:04:14 +0200
committerGravatar Gediminas Jakutis <gediminas@varciai.lt> 2021-03-03 16:04:14 +0200
commit56473644aa260aad93f21050a2064854a3448c13 (patch)
tree9d39b45282f025c601f3ba02c6965481e92bc542 /src/defs.h
parent068e3e6c5a74702c3e7db0e37b243f522c433a7f (diff)
downloadalgos-ld1-56473644aa260aad93f21050a2064854a3448c13.tar.gz
algos-ld1-56473644aa260aad93f21050a2064854a3448c13.tar.bz2
algos-ld1-56473644aa260aad93f21050a2064854a3448c13.zip
now up to 256 bit!
Signed-off-by: Gediminas Jakutis <gediminas@varciai.lt>
Diffstat (limited to 'src/defs.h')
-rw-r--r--src/defs.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/defs.h b/src/defs.h
index 0d543d7..2c0d81c 100644
--- a/src/defs.h
+++ b/src/defs.h
@@ -41,12 +41,40 @@
# else
typedef uint32_t field;
# endif
-#else
+#elif entry_field_size == 64
# ifdef entry_field_signed
typedef int64_t field;
# else
typedef uint64_t field;
# endif
+#elif entry_field_size == 128
+# ifdef entry_field_signed
+ typedef struct field {
+ uint64_t low;
+ int64_t high;
+ } field;
+# else
+ typedef struct field {
+ uint64_t low;
+ uint64_t high;
+ } field;
+# endif
+#elif entry_field_size == 256
+# ifdef entry_field_signed
+ typedef struct field {
+ uint64_t low;
+ uint64_t midlow;
+ uint64_t midhigh;
+ int64_t high;
+ } field;
+# else
+ typedef struct field {
+ uint64_t low;
+ uint64_t midlow;
+ uint64_t midhigh;
+ uint64_t high;
+ } field;
+# endif
#endif
union nextoff {