[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-users] foreign-lambda - how to declare double array as argument
From: |
Terrence Brannon |
Subject: |
[Chicken-users] foreign-lambda - how to declare double array as argument and how to pass things to it? |
Date: |
Sun, 11 Nov 2007 19:54:36 -0500 |
I have this function in C:
double polevl( x, coef, N )
double x;
double coef[];
int N;
{
...
}
and I am trying to create foreign-lambda for it:
(define polevl
(foreign-lambda double polevl double f64vector int))
But I know that double[] is wrong.
My guess was f64vector. That compiled, but passing a Scheme vector in failed:
#;2> (let ([vec (vector 0 1 1)]) (polevl 42 vec (vector-length vec)))
Error: bad argument type - not a number-vector or not of the correct type
#(0 1 1)
f64vector
Call history:
<syntax> (let ((vec (vector 0 1 1))) (polevl 42 vec
(vector-length vec)))
<syntax> (begin (polevl 42 vec (vector-length vec)))
<syntax> (polevl 42 vec (vector-length vec))
<syntax> (vector-length vec)
<syntax> (vector 0 1 1)
<eval> (vector 0 1 1)
<eval> (polevl 42 vec (vector-length vec))
<eval> (vector-length vec) <--
#;2>
- [Chicken-users] foreign-lambda - how to declare double array as argument and how to pass things to it?,
Terrence Brannon <=