<caml-list@inria.fr>,
Hello, I have the following problem : I wan to use a Least-squares Regression solver written in C in a program written in OCaml.
I have something like this in the Ocaml program,
let beta = solve_olsr psi_matrix y_train in ...
where psi_matrix is built using Array.make_matrix and y_train by Array.make
The dimensions are KxN for psi_matrix and N for y_train, and the output beta should be a vector of length K (built with Array.make etc).
I have a C function with the following signature :
void olsr(int rows, int columns,
double **matrix_of_data,
double *vector_of_data,
double ** vector_of_coefficients)
Thus, I need to create a stub function, that will lok like this
CAMLValue solve_olsr(value ...,value...) {
CAMLparam...
CAMLReturn ...
}
My problem is the following : how do proceed since the parameters I need to transmt are vectors or matrices of float (for Caml, i.e. double for C), and not just integers or floats ? I really do not know how to transfer arrays and matrix of floats from Caml to C, and back.
It would be great to have an answer.
Thank you,
Odalric-Ambrym