I wrote a numeric algorithm in CL. Since it is acceptable
performancewise, I want to call it from a C program (actually, Fortran
90) now. Unfortunately I could not find much in the documentation
(except that I should use funcall0..3). So any help will be
appreciated.
More specifically, I have the x and y coordinates of some 50,000
points as double floats. Let's assume these are in two double arrays
x[] and y[] in the C program. In Lisp, I want to build my point data
structures and call a function (GC will happen here). Finally, I want
to pass two double arrays back to the C code (potential and force for
every point).
I would be great to have an example of passing fixnums and
simple-arrays (double-float) around. My platform is Linux/x86.
PS: Is the heap size of SBCL limited to 512MB? Can I increase this limit?
|