Open CGMossa opened 1 year ago
I'm reopening this because I have a hard time figuring out what is allowed and not.
In C, we cannot return arrays.
An idea would be to use void c_function(size_t len, const double* input, double* output)
, but that doesn't work because odin
expects a LHS to every line.
I want to do an operation on a long array $M × 3$, and then use that to fill out vectors.
But to do so, I'm expected to use i
for the output vector $N ×1$. But then how can I perform the calculation on the former, store it, and then use its content on filling out N×1
. if I just have a dummy <- c_function(...)
it doesn't appear in the odin.c
file generated, as in doesn't appear when things are happening.
It is as if I'm unable to pass a double** arr
to a custom c-function..
In order to circumvent #291, I decided to try to make a c-function, that takes a rectangular matrix, and performs some calculation on an array. But there must be a LHS to all lines; And thus I need a return type that means "2-d array" or even "1-D array".
Is it possible to know how this could look like? I've tried
double*
anddouble**
, but that gave complaints.