Given the following C function from a library I want to link to: typedef void (*fptr_f) (double, double *, double *, void *); void foo(_fptr_f f, double *y, void *_data); Run
I have written the following Nim equivalent: type fptr_f = proc(t: cdouble, y: ptr cdouble, ydot: ptr cdouble, data: pointer): void {.cdecl.} proc foo(f: fptr_f, y: ptr cdouble, data: pointer): void {.importc: "lsoda".} Run How do I write the following C function in Nim and pass it to the proc foo in Nim? static void fex(double t, double *y, double *ydot, void *data) { ydot[0] = 1.0E4 * y[1] * y[2] - .04E0 * y[0]; ydot[2] = 3.0E7 * y[1] * y[1]; ydot[1] = -1.0 * (ydot[0] + ydot[2]); } Run