<p dir="ltr"><br>
On May 13, 2014 3:38 AM, "Konrad Hinsen" <<a href="mailto:konrad.hinsen@fastmail.net">konrad.hinsen@fastmail.net</a>> wrote:<br>
><br>
> Sam Tobin-Hochstadt writes:<br>
><br>
>  > On Mon, May 12, 2014 at 10:18 AM, Matthias Felleisen<br>
>  > <<a href="mailto:matthias@ccs.neu.edu">matthias@ccs.neu.edu</a>> wrote:<br>
>  > ><br>
>  > >> If the FFI can provide<br>
>  > >> C-pointer access to something like a flvector, and ensure that it's<br>
>  > >> not garbage-collected for the duration of a C function call, then a<br>
>  > >> good interface should be doable.<br>
>  ><br>
>  > This is the `f64vector` (or `f32vector`, for single floats) type.<br>
>  > Docs here: <a href="http://docs.racket-lang.org/foreign/homogeneous-vectors.html#%28def._%28%28lib._ffi%2Fvector..rkt%29._make-f64vector%29%29">http://docs.racket-lang.org/foreign/homogeneous-vectors.html#%28def._%28%28lib._ffi%2Fvector..rkt%29._make-f64vector%29%29</a><br>

><br>
> Great, thanks for the pointer!<br>
><br>
> Do I understand correctly that an f64vector is a different type from a<br>
> flvector? A flarray is based on a flvector, so if f64vector is<br>
> different, then I can't have an array based directly on it, and<br>
> probably I'll end up having to copy everything again.<br>
></p>
<p dir="ltr">Yes, they're different types. I think f64vector has one more indirection, to help with C interoperation, but I'm not sure.</p>
<p dir="ltr">Others could say more about this, I'm not an expert in FFI data structures.</p>
<p dir="ltr">Sam</p>