at v4.13 553 B view raw
1#include "xyarray.h" 2#include "util.h" 3#include <stdlib.h> 4#include <string.h> 5 6struct xyarray *xyarray__new(int xlen, int ylen, size_t entry_size) 7{ 8 size_t row_size = ylen * entry_size; 9 struct xyarray *xy = zalloc(sizeof(*xy) + xlen * row_size); 10 11 if (xy != NULL) { 12 xy->entry_size = entry_size; 13 xy->row_size = row_size; 14 xy->entries = xlen * ylen; 15 } 16 17 return xy; 18} 19 20void xyarray__reset(struct xyarray *xy) 21{ 22 size_t n = xy->entries * xy->entry_size; 23 24 memset(xy->contents, 0, n); 25} 26 27void xyarray__delete(struct xyarray *xy) 28{ 29 free(xy); 30}