diff options
-rw-r--r-- | ndarray.h | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -45,6 +45,14 @@ typedef struct NDArray { #define NDARRAY_ALLOC_ZERO (1 << 0) +#define NDIDX1D(arr, x) (arr->stride[0] * x) +#define NDIDX2D(arr, x, y) (arr->stride[0] * y + arr->stride[1] * x) +#define NDIDX3D(arr, x, y, z) (arr->stride[0] * z + arr->stride[1] * y + arr->stride[0] * x) + +#define NDPTR1D(arr, x) (arr->data + NDIDX1D(arr, x)) +#define NDPTR2D(arr, x, y) (arr->data + NDIDX2D(arr, x, y)) +#define NDPTR3D(arr, x, y, z) (arr->data + NDIDX2D(arr, x, y, z)) + int mg2di_ndarray_alloc(NDArray **result, unsigned int dims, const size_t * const size, unsigned int flags); void mg2di_ndarray_free(NDArray **a); |