fftw-ffi-0.1: Low-level interface to FFTW (Fast Fourier Transform)

Safe HaskellSafe
LanguageHaskell98

Numeric.FFTW.FFI

Synopsis

Documentation

type Plan a = Ptr (PlanObj a) Source #

type PlanDFT1d a = CInt -> Ptr (Complex a) -> Ptr (Complex a) -> Sign -> Flags -> IO (Plan a) Source #

type PlanDFT2d a = CInt -> CInt -> Ptr (Complex a) -> Ptr (Complex a) -> Sign -> Flags -> IO (Plan a) Source #

type PlanDFT3d a = CInt -> CInt -> CInt -> Ptr (Complex a) -> Ptr (Complex a) -> Sign -> Flags -> IO (Plan a) Source #

type PlanDFT a = CInt -> Ptr CInt -> Ptr (Complex a) -> Ptr (Complex a) -> Sign -> Flags -> IO (Plan a) Source #

type PlanDFTr2c1d a = CInt -> Ptr a -> Ptr (Complex a) -> Flags -> IO (Plan a) Source #

type PlanDFTr2c2d a = CInt -> CInt -> Ptr a -> Ptr (Complex a) -> Flags -> IO (Plan a) Source #

type PlanDFTr2c3d a = CInt -> CInt -> CInt -> Ptr a -> Ptr (Complex a) -> Flags -> IO (Plan a) Source #

type PlanDFTr2c a = CInt -> Ptr CInt -> Ptr a -> Ptr (Complex a) -> Flags -> IO (Plan a) Source #

type PlanDFTc2r1d a = CInt -> Ptr (Complex a) -> Ptr a -> Flags -> IO (Plan a) Source #

type PlanDFTc2r2d a = CInt -> CInt -> Ptr (Complex a) -> Ptr a -> Flags -> IO (Plan a) Source #

type PlanDFTc2r3d a = CInt -> CInt -> CInt -> Ptr (Complex a) -> Ptr a -> Flags -> IO (Plan a) Source #

type PlanDFTc2r a = CInt -> Ptr CInt -> Ptr (Complex a) -> Ptr a -> Flags -> IO (Plan a) Source #

type PlanR2r1d a = CInt -> Ptr a -> Ptr a -> Kind -> Flags -> IO (Plan a) Source #

type PlanR2r2d a = CInt -> CInt -> Ptr a -> Ptr a -> Kind -> Kind -> Flags -> IO (Plan a) Source #

type PlanR2r3d a = CInt -> CInt -> CInt -> Ptr a -> Ptr a -> Kind -> Kind -> Kind -> Flags -> IO (Plan a) Source #

type PlanR2r a = CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr Kind -> Flags -> IO (Plan a) Source #

type PlanManyDFT a = CInt -> Ptr CInt -> CInt -> Ptr (Complex a) -> Ptr CInt -> CInt -> CInt -> Ptr (Complex a) -> Ptr CInt -> CInt -> CInt -> Sign -> Flags -> IO (Plan a) Source #

type PlanManyDFTr2c a = CInt -> Ptr CInt -> CInt -> Ptr a -> Ptr CInt -> CInt -> CInt -> Ptr (Complex a) -> Ptr CInt -> CInt -> CInt -> Flags -> IO (Plan a) Source #

type PlanManyDFTc2r a = CInt -> Ptr CInt -> CInt -> Ptr (Complex a) -> Ptr CInt -> CInt -> CInt -> Ptr a -> Ptr CInt -> CInt -> CInt -> Flags -> IO (Plan a) Source #

type PlanManyR2r a = CInt -> Ptr CInt -> CInt -> Ptr a -> Ptr CInt -> CInt -> CInt -> Ptr a -> Ptr CInt -> CInt -> CInt -> Ptr Kind -> Flags -> IO (Plan a) Source #

type PlanGuruDFT a = CInt -> Ptr IODim -> CInt -> Ptr IODim -> Ptr (Complex a) -> Ptr (Complex a) -> Sign -> Flags -> IO (Plan a) Source #

type PlanGuruDFTr2c a = CInt -> Ptr IODim -> CInt -> Ptr IODim -> Ptr a -> Ptr (Complex a) -> Flags -> IO (Plan a) Source #

type PlanGuruDFTc2r a = CInt -> Ptr IODim -> CInt -> Ptr IODim -> Ptr (Complex a) -> Ptr a -> Flags -> IO (Plan a) Source #

type PlanGuruR2r a = CInt -> Ptr IODim -> CInt -> Ptr IODim -> Ptr a -> Ptr a -> Ptr Kind -> Flags -> IO (Plan a) Source #

type PlanGuruSplitDFT a = CInt -> Ptr IODim -> CInt -> Ptr IODim -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Flags -> IO (Plan a) Source #

type PlanGuruSplitDFTr2c a = CInt -> Ptr IODim -> CInt -> Ptr IODim -> Ptr a -> Ptr a -> Ptr a -> Flags -> IO (Plan a) Source #

type PlanGuruSplitDFTc2r a = CInt -> Ptr IODim -> CInt -> Ptr IODim -> Ptr a -> Ptr a -> Ptr a -> Flags -> IO (Plan a) Source #

type DestroyPlan a = Plan a -> IO () Source #

type Execute a = Plan a -> IO () Source #

type ExecuteDFT a = Plan a -> Ptr (Complex a) -> Ptr (Complex a) -> IO () Source #

type ExecuteDFTr2c a = Plan a -> Ptr a -> Ptr (Complex a) -> IO () Source #

type ExecuteDFTc2r a = Plan a -> Ptr (Complex a) -> Ptr a -> IO () Source #

type ExecuteR2r a = Plan a -> Ptr a -> Ptr a -> IO () Source #

type ExecuteSplitDFT a = Plan a -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> IO () Source #

type ExecuteSplitDFTr2c a = Plan a -> Ptr a -> Ptr a -> Ptr a -> IO () Source #

type ExecuteSplitDFTc2r a = Plan a -> Ptr a -> Ptr a -> Ptr a -> IO () Source #

type Malloc a = CSize -> IO (Ptr a) Source #

type Free a = Ptr a -> IO () Source #

free :: Real a => Free a Source #

type AllocReal a = CSize -> IO (Ptr a) Source #

type AllocComplex a = CSize -> IO (Ptr (Complex a)) Source #

type FreeComplex a = Ptr (Complex a) -> IO () Source #

data IODim Source #

Constructors

IODim 

Fields

Instances
Eq IODim Source # 
Instance details

Defined in Numeric.FFTW.FFI.Type

Methods

(==) :: IODim -> IODim -> Bool #

(/=) :: IODim -> IODim -> Bool #

Show IODim Source # 
Instance details

Defined in Numeric.FFTW.FFI.Type

Methods

showsPrec :: Int -> IODim -> ShowS #

show :: IODim -> String #

showList :: [IODim] -> ShowS #

Storable IODim Source # 
Instance details

Defined in Numeric.FFTW.FFI.Type

Methods

sizeOf :: IODim -> Int #

alignment :: IODim -> Int #

peekElemOff :: Ptr IODim -> Int -> IO IODim #

pokeElemOff :: Ptr IODim -> Int -> IODim -> IO () #

peekByteOff :: Ptr b -> Int -> IO IODim #

pokeByteOff :: Ptr b -> Int -> IODim -> IO () #

peek :: Ptr IODim -> IO IODim #

poke :: Ptr IODim -> IODim -> IO () #

data Flag Source #

Instances
Enum Flag Source # 
Instance details

Defined in Numeric.FFTW.FFI.Type

Methods

succ :: Flag -> Flag #

pred :: Flag -> Flag #

toEnum :: Int -> Flag #

fromEnum :: Flag -> Int #

enumFrom :: Flag -> [Flag] #

enumFromThen :: Flag -> Flag -> [Flag] #

enumFromTo :: Flag -> Flag -> [Flag] #

enumFromThenTo :: Flag -> Flag -> Flag -> [Flag] #

Eq Flag Source # 
Instance details

Defined in Numeric.FFTW.FFI.Type

Methods

(==) :: Flag -> Flag -> Bool #

(/=) :: Flag -> Flag -> Bool #

Ord Flag Source # 
Instance details

Defined in Numeric.FFTW.FFI.Type

Methods

compare :: Flag -> Flag -> Ordering #

(<) :: Flag -> Flag -> Bool #

(<=) :: Flag -> Flag -> Bool #

(>) :: Flag -> Flag -> Bool #

(>=) :: Flag -> Flag -> Bool #

max :: Flag -> Flag -> Flag #

min :: Flag -> Flag -> Flag #

data Kind Source #

Instances
Eq Kind Source # 
Instance details

Defined in Numeric.FFTW.FFI.Type

Methods

(==) :: Kind -> Kind -> Bool #

(/=) :: Kind -> Kind -> Bool #

data Sign Source #

Instances
Eq Sign Source # 
Instance details

Defined in Numeric.FFTW.FFI.Type

Methods

(==) :: Sign -> Sign -> Bool #

(/=) :: Sign -> Sign -> Bool #

rodft10 :: Kind Source #

Corresponds to the fftw_iodim structure. It completely describes the layout of each dimension, before and after the transform.