]>
Commit | Line | Data |
---|---|---|
69aad6f1 ACM |
1 | #include "xyarray.h" |
2 | #include "util.h" | |
3 | ||
4 | struct xyarray *xyarray__new(int xlen, int ylen, size_t entry_size) | |
5 | { | |
6 | size_t row_size = ylen * entry_size; | |
7 | struct xyarray *xy = zalloc(sizeof(*xy) + xlen * row_size); | |
8 | ||
9 | if (xy != NULL) { | |
10 | xy->entry_size = entry_size; | |
11 | xy->row_size = row_size; | |
b45f65e8 | 12 | xy->entries = xlen * ylen; |
69aad6f1 ACM |
13 | } |
14 | ||
15 | return xy; | |
16 | } | |
17 | ||
b45f65e8 JO |
18 | void xyarray__reset(struct xyarray *xy) |
19 | { | |
20 | size_t n = xy->entries * xy->entry_size; | |
21 | ||
22 | memset(xy->contents, 0, n); | |
23 | } | |
24 | ||
69aad6f1 ACM |
25 | void xyarray__delete(struct xyarray *xy) |
26 | { | |
27 | free(xy); | |
28 | } |