some slight progress

map/set still buggy
This commit is contained in:
2026-04-18 16:36:11 +02:00
parent 7ddd7707db
commit 0a6e089581
2 changed files with 4 additions and 3 deletions
+2 -2
View File
@@ -1,12 +1,12 @@
#define CIG_IMPL
#include "cig.h"
int main() {
int main(void) {
with_borrow(allocator) {
int *ints;
set_init(&ints, allocator, .initial_capacity=20);
map_print_mapping_state(ints, stdout);
for ( int i = 0; i < 1000; i++ ) {
for ( int i = 0; i < 20; i++ ) {
set_add(&ints, i);
map_print_mapping_state(ints, stdout);
}
+2 -1
View File
@@ -25,7 +25,7 @@ static int internal_map_mod(int a, int b) {
void map_print_mapping_state(void *this, FILE *file) {
map_header_t *header = PTR_FROM_FIELD_PTR(map_header_t, bytes, this);
for ( int i = 0; i < header->mapping_capacity; i++ ) {
for ( unsigned int i = 0; i < header->mapping_capacity; i++ ) {
int mapping = header->mapping_arr[i];
if (mapping == FLAG_TOMBSTONE) {
@@ -131,6 +131,7 @@ unsigned int map_place(void *this, index_pair_t idx_pair) {
}
} else {
header->mapping_arr[idx_pair.new_index] = header->n_items;
header->n_items++;
}
return header->mapping_arr[idx_pair.new_index];