bug: foreign import type mismatch
claudeha opened this issue · 0 comments
claudeha commented
There is:
void descend_cpu(int len, double rate, ...);
and
foreign import ccall unsafe descend_cpu :: Int -> Double -> ... -> IO ()
but these don't match on amd64 Linux (int
is 32bit and Int
is 64bit).
Should probably be size_t
in the C and CSize
in the FFI import.
(Also to be pedantic it should be CDouble
, which you can cast efficiently using coerce
which should fail to compile on systems where Double /= CDouble
, but I don't know if any exist. realToFrac
is the wrong thing to use.)