From 015671d15f553787f4462906f8ddf8d63a0c710a Mon Sep 17 00:00:00 2001 From: Ralph Ronnquist Date: Sun, 26 Jun 2022 15:46:29 +1000 Subject: [PATCH] debug vector_iterate for 4-bit levels --- vector/vector.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vector/vector.c b/vector/vector.c index 129ba02..feaed9f 100644 --- a/vector/vector.c +++ b/vector/vector.c @@ -15,6 +15,8 @@ typedef union { } __attribute__ ((__packed__)) as_byte[8]; } vector_indexing; +#define VECTOR_LEVEL_MASK ( VECTOR_SLOTS - 1 ) + #define VECTOR_PART_BYTE(i,p) ((vector_indexing*)(i))->as_byte[ (p)/2 ] static int VECTOR_INDEX_PART(vector_index *index,int part) { @@ -359,7 +361,7 @@ void vector_iterate(vector *pv, if ( slot == 0 ) { break; } - int i = index & 0xff; + int i = index & VECTOR_LEVEL_MASK ; for ( ; i < VECTOR_SLOTS && index < pv->size; i++, index++, slot++ ) { if ( itemfn( index, *slot, data ) ) { return; -- 2.39.2