diff options
| author | Tyge Løvset <[email protected]> | 2021-01-02 21:48:26 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-01-02 21:48:26 +0100 |
| commit | c6bcd07833700b899a360d49de3c03257ff914e0 (patch) | |
| tree | 2cfbcf4e44db23b7b5a62a63dd64d16838c453d5 /docs | |
| parent | c0bd7ea6d3efc4c61086eadb5c8768285b91f643 (diff) | |
| download | STC-modified-c6bcd07833700b899a360d49de3c03257ff914e0.tar.gz STC-modified-c6bcd07833700b899a360d49de3c03257ff914e0.zip | |
Update carray_api.md
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/carray_api.md | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/docs/carray_api.md b/docs/carray_api.md index c5d9589c..70dc0870 100644 --- a/docs/carray_api.md +++ b/docs/carray_api.md @@ -8,7 +8,8 @@ See [boost::multi_array](https://www.boost.org/doc/libs/release/libs/multi_array ## Declaration ```c -#define using_carray(X, Value, valueDestroy=c_default_del) +#define using_carray(X, Value, valueDestroy=c_default_del, + valueClone=c_default_clone) ``` The macro `using_carray()` can be instantiated with 2 or 3 arguments in the global scope. Default values are given above for args not specified. `X` and `N` are type tags and @@ -23,20 +24,6 @@ be replaced by `my` in all of the following documentation. The `N` character sho | `carrayNX_value_t` | `Value` | The value type | | `carrayNX_iter_t` | `struct { Value *ref; }` | Iterator type | -## Constants and macros - -| Name | Purpose | -|:---------------------|:-------------------------| -| `carray1_size(arr)` | carray1 size and dim | -| `carray1_xdim(arr)` | | -| `carray2_size(arr)` | carray2 size and dims | -| `carray2_xdim(arr)` | | -| `carray2_ydim(arr)` | | -| `carray3_size(arr)` | carray3 size and dims | -| `carray3_xdim(arr)` | | -| `carray3_ydim(arr)` | | -| `carray3_zdim(arr)` | | - ## Header file All carray definitions and prototypes may be included in your C source file by including a single header file. @@ -50,18 +37,26 @@ All carray definitions and prototypes may be included in your C source file by i carray1X carray1X_init(size_t xdim, Value val); carray2X carray2X_init(size_t ydim, size_t xdim, Value val); carray3X carray3X_init(size_t zdim, size_t ydim, size_t xdim, Value val); + carray1X carray1X_from(Value* array, size_t xdim); carray2X carray2X_from(Value* array, size_t ydim, size_t xdim); carray3X carray3X_from(Value* array, size_t zdim, size_t ydim, size_t xdim); +carrayNX carrayNX_clone(carrayNX arr); void carrayNX_del(carrayNX* self); +size_t carrayNX_size(carrayNX arr); +size_t carrayNX_xdim(carrayNX arr); +size_t carrayNX_ydim(carrayNX arr); // not N=3 +size_t carrayNX_zdim(carrayNX arr); // only N=3 + Value* carray1X_at(carray1X *self, size_t x); Value* carray2X_at(carray2X *self, size_t y, size_t x); -carray1X carray2X_at1(carray2X *self, size_t y); Value* carray3X_at(carray3X *self, size_t z, size_t y, size_t x); -carray1X carray3X_at2(carray3X *self, size_t z, size_t y); + +carray1X carray2X_at1(carray2X *self, size_t y); carray2X carray3X_at1(carray3X *self, size_t z); +carray1X carray3X_at2(carray3X *self, size_t z, size_t y); carrayNX_iter_t carrayNX_begin(carrayNX* self); carrayNX_iter_t carrayNX_end(carrayNX* self); |
