restore to the 8-bit level index variant
[rrq/rrqmisc.git] / vector / vector.c
index feaed9f1792ae571d92083bd4a7c642d2f9f370a..c4482a7d55bb6f977075ab9e6bab400d5b1e1cd2 100644 (file)
@@ -32,6 +32,19 @@ static int VECTOR_INDEX_PART_INC(vector_index *index,int part) {
     }
     return ++VECTOR_PART_BYTE(index,part).msb;
 }
+#elif VECTOR_LEVEL_BITS == 8
+
+#define VECTOR_LEVEL_MASK ( VECTOR_SLOTS - 1 )
+
+typedef union {
+    vector_index as_whole;
+    unsigned char as_byte[8];
+} vector_indexing;
+
+#define VECTOR_INDEX_PART(i,p) (((vector_indexing*)(i))->as_byte[p])
+
+#define VECTOR_INDEX_PART_INC(i,p) (++VECTOR_INDEX_PART(i,p))
+
 #endif
 
 /**