summaryrefslogtreecommitdiffhomepage
path: root/docs
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2021-01-02 21:48:26 +0100
committerGitHub <[email protected]>2021-01-02 21:48:26 +0100
commitc6bcd07833700b899a360d49de3c03257ff914e0 (patch)
tree2cfbcf4e44db23b7b5a62a63dd64d16838c453d5 /docs
parentc0bd7ea6d3efc4c61086eadb5c8768285b91f643 (diff)
downloadSTC-modified-c6bcd07833700b899a360d49de3c03257ff914e0.tar.gz
STC-modified-c6bcd07833700b899a360d49de3c03257ff914e0.zip
Update carray_api.md
Diffstat (limited to 'docs')
-rw-r--r--docs/carray_api.md29
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);