
5 changed files with 41 additions and 27 deletions
@ -1,21 +1,22 @@ |
|||
#include "mark.h" |
|||
|
|||
void markmap_init(Markmap* map) { |
|||
void markmap_reusable_init(Markmap_reusable* map) { |
|||
map->buffer = NULL; |
|||
map->capacity = 0; |
|||
} |
|||
|
|||
void markmap_ensure_capacity(Markmap* map, Usz capacity) { |
|||
void markmap_reusable_ensure_size(Markmap_reusable* map, Usz height, |
|||
Usz width) { |
|||
Usz capacity = height * width; |
|||
if (map->capacity < capacity) { |
|||
map->buffer = realloc(map->buffer, capacity); |
|||
map->capacity = capacity; |
|||
} |
|||
} |
|||
|
|||
void markmap_clear(Markmap* map) { |
|||
memset(map->buffer, 0, map->capacity); |
|||
} |
|||
void markmap_reusable_deinit(Markmap_reusable* map) { free(map->buffer); } |
|||
|
|||
void markmap_deinit(Markmap* map) { |
|||
free(map->buffer); |
|||
void markmap_clear(Markmap_buffer map, Usz height, Usz width) { |
|||
Usz cleared_size = height * width; |
|||
memset(map, 0, cleared_size); |
|||
} |
|||
|
@ -1,4 +1,5 @@ |
|||
#pragma once |
|||
#include "base.h" |
|||
#include "mark.h" |
|||
|
|||
void orca_run(Field* f); |
|||
void orca_run(Field* field, Markmap_buffer markmap); |
|||
|
Loading…
Reference in new issue