Storable instance for Complex
Henning Thielemann
lemming at henning-thielemann.de
Fri Feb 15 11:29:05 EST 2008
On Fri, 15 Feb 2008, Jed Brown wrote:
> I propose that the following instance be added to base:
>
> instance (RealFloat a, Storable a) => Storable (Complex a) where
> sizeOf z = 2 * sizeOf (realPart z)
> alignment z = sizeOf (realPart z)
> peek p = do
> [r,i] <- peekArray 2 (castPtr p)
> return (r :+ i)
> poke p (r :+ i) = pokeArray (castPtr p) [r,i]
>
> This instance is binary compatible with C99, C++ and Fortran complex types.
>
> It is currently needed by at least two independent packages: hmatrix and
> fft. Since it is natural for user code to use both of these packages, we
> need to move the instance to a common location.
>
> http://hackage.haskell.org/trac/ghc/ticket/2099
I also need it for signal processing.
More information about the Libraries
mailing list