module Bindings.Gsl.Eigensystems where
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word
import Bindings.Gsl.ComplexNumbers
import Bindings.Gsl.VectorsAndMatrices
data C'gsl_eigen_symm_workspace = C'gsl_eigen_symm_workspace{
c'gsl_eigen_symm_workspace'size :: CSize
,
c'gsl_eigen_symm_workspace'd :: Ptr CDouble
,
c'gsl_eigen_symm_workspace'sd :: Ptr CDouble
} deriving (Eq,Show)
instance Storable C'gsl_eigen_symm_workspace where
sizeOf _ = 12
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
return $ C'gsl_eigen_symm_workspace v0 v1 v2
poke p (C'gsl_eigen_symm_workspace v0 v1 v2) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
return ()
foreign import ccall "gsl_eigen_symm_alloc" c'gsl_eigen_symm_alloc
:: CSize -> IO (Ptr C'gsl_eigen_symm_workspace)
foreign import ccall "&gsl_eigen_symm_alloc" p'gsl_eigen_symm_alloc
:: FunPtr (CSize -> IO (Ptr C'gsl_eigen_symm_workspace))
foreign import ccall "gsl_eigen_symm_free" c'gsl_eigen_symm_free
:: Ptr C'gsl_eigen_symm_workspace -> IO ()
foreign import ccall "&gsl_eigen_symm_free" p'gsl_eigen_symm_free
:: FunPtr (Ptr C'gsl_eigen_symm_workspace -> IO ())
foreign import ccall "gsl_eigen_symm" c'gsl_eigen_symm
:: Ptr C'gsl_matrix -> Ptr C'gsl_vector -> Ptr C'gsl_eigen_symm_workspace -> IO CInt
foreign import ccall "&gsl_eigen_symm" p'gsl_eigen_symm
:: FunPtr (Ptr C'gsl_matrix -> Ptr C'gsl_vector -> Ptr C'gsl_eigen_symm_workspace -> IO CInt)
data C'gsl_eigen_symmv_workspace = C'gsl_eigen_symmv_workspace{
c'gsl_eigen_symmv_workspace'size :: CSize
,
c'gsl_eigen_symmv_workspace'd :: Ptr CDouble
,
c'gsl_eigen_symmv_workspace'sd :: Ptr CDouble
,
c'gsl_eigen_symmv_workspace'gc :: Ptr CDouble
,
c'gsl_eigen_symmv_workspace'gs :: Ptr CDouble
} deriving (Eq,Show)
instance Storable C'gsl_eigen_symmv_workspace where
sizeOf _ = 20
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
v4 <- peekByteOff p 16
return $ C'gsl_eigen_symmv_workspace v0 v1 v2 v3 v4
poke p (C'gsl_eigen_symmv_workspace v0 v1 v2 v3 v4) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
pokeByteOff p 16 v4
return ()
foreign import ccall "gsl_eigen_symmv_alloc" c'gsl_eigen_symmv_alloc
:: CSize -> IO (Ptr C'gsl_eigen_symmv_workspace)
foreign import ccall "&gsl_eigen_symmv_alloc" p'gsl_eigen_symmv_alloc
:: FunPtr (CSize -> IO (Ptr C'gsl_eigen_symmv_workspace))
foreign import ccall "gsl_eigen_symmv_free" c'gsl_eigen_symmv_free
:: Ptr C'gsl_eigen_symmv_workspace -> IO ()
foreign import ccall "&gsl_eigen_symmv_free" p'gsl_eigen_symmv_free
:: FunPtr (Ptr C'gsl_eigen_symmv_workspace -> IO ())
foreign import ccall "gsl_eigen_symmv" c'gsl_eigen_symmv
:: Ptr C'gsl_matrix -> Ptr C'gsl_vector -> Ptr C'gsl_matrix -> Ptr C'gsl_eigen_symmv_workspace -> IO CInt
foreign import ccall "&gsl_eigen_symmv" p'gsl_eigen_symmv
:: FunPtr (Ptr C'gsl_matrix -> Ptr C'gsl_vector -> Ptr C'gsl_matrix -> Ptr C'gsl_eigen_symmv_workspace -> IO CInt)
data C'gsl_eigen_herm_workspace = C'gsl_eigen_herm_workspace{
c'gsl_eigen_herm_workspace'size :: CSize
,
c'gsl_eigen_herm_workspace'd :: Ptr CDouble
,
c'gsl_eigen_herm_workspace'sd :: Ptr CDouble
,
c'gsl_eigen_herm_workspace'tau :: Ptr CDouble
} deriving (Eq,Show)
instance Storable C'gsl_eigen_herm_workspace where
sizeOf _ = 16
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
return $ C'gsl_eigen_herm_workspace v0 v1 v2 v3
poke p (C'gsl_eigen_herm_workspace v0 v1 v2 v3) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
return ()
foreign import ccall "gsl_eigen_herm_alloc" c'gsl_eigen_herm_alloc
:: CSize -> IO (Ptr C'gsl_eigen_herm_workspace)
foreign import ccall "&gsl_eigen_herm_alloc" p'gsl_eigen_herm_alloc
:: FunPtr (CSize -> IO (Ptr C'gsl_eigen_herm_workspace))
foreign import ccall "gsl_eigen_herm_free" c'gsl_eigen_herm_free
:: Ptr C'gsl_eigen_herm_workspace -> IO ()
foreign import ccall "&gsl_eigen_herm_free" p'gsl_eigen_herm_free
:: FunPtr (Ptr C'gsl_eigen_herm_workspace -> IO ())
foreign import ccall "gsl_eigen_herm" c'gsl_eigen_herm
:: Ptr C'gsl_matrix_complex -> Ptr C'gsl_vector -> Ptr C'gsl_eigen_herm_workspace -> IO CInt
foreign import ccall "&gsl_eigen_herm" p'gsl_eigen_herm
:: FunPtr (Ptr C'gsl_matrix_complex -> Ptr C'gsl_vector -> Ptr C'gsl_eigen_herm_workspace -> IO CInt)
data C'gsl_eigen_hermv_workspace = C'gsl_eigen_hermv_workspace{
c'gsl_eigen_hermv_workspace'size :: CSize
,
c'gsl_eigen_hermv_workspace'd :: Ptr CDouble
,
c'gsl_eigen_hermv_workspace'sd :: Ptr CDouble
,
c'gsl_eigen_hermv_workspace'tau :: Ptr CDouble
,
c'gsl_eigen_hermv_workspace'gc :: Ptr CDouble
,
c'gsl_eigen_hermv_workspace'gs :: Ptr CDouble
} deriving (Eq,Show)
instance Storable C'gsl_eigen_hermv_workspace where
sizeOf _ = 24
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
v4 <- peekByteOff p 16
v5 <- peekByteOff p 20
return $ C'gsl_eigen_hermv_workspace v0 v1 v2 v3 v4 v5
poke p (C'gsl_eigen_hermv_workspace v0 v1 v2 v3 v4 v5) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
pokeByteOff p 16 v4
pokeByteOff p 20 v5
return ()
foreign import ccall "gsl_eigen_hermv_alloc" c'gsl_eigen_hermv_alloc
:: CSize -> IO (Ptr C'gsl_eigen_hermv_workspace)
foreign import ccall "&gsl_eigen_hermv_alloc" p'gsl_eigen_hermv_alloc
:: FunPtr (CSize -> IO (Ptr C'gsl_eigen_hermv_workspace))
foreign import ccall "gsl_eigen_hermv_free" c'gsl_eigen_hermv_free
:: Ptr C'gsl_eigen_hermv_workspace -> IO ()
foreign import ccall "&gsl_eigen_hermv_free" p'gsl_eigen_hermv_free
:: FunPtr (Ptr C'gsl_eigen_hermv_workspace -> IO ())
foreign import ccall "gsl_eigen_hermv" c'gsl_eigen_hermv
:: Ptr C'gsl_matrix_complex -> Ptr C'gsl_vector -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_eigen_hermv_workspace -> IO CInt
foreign import ccall "&gsl_eigen_hermv" p'gsl_eigen_hermv
:: FunPtr (Ptr C'gsl_matrix_complex -> Ptr C'gsl_vector -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_eigen_hermv_workspace -> IO CInt)
data C'gsl_eigen_francis_workspace = C'gsl_eigen_francis_workspace{
c'gsl_eigen_francis_workspace'size :: CSize
,
c'gsl_eigen_francis_workspace'max_iterations :: CSize
,
c'gsl_eigen_francis_workspace'n_iter :: CSize
,
c'gsl_eigen_francis_workspace'n_evals :: CSize
,
c'gsl_eigen_francis_workspace'compute_t :: CInt
,
c'gsl_eigen_francis_workspace'H :: Ptr C'gsl_matrix
,
c'gsl_eigen_francis_workspace'Z :: Ptr C'gsl_matrix
} deriving (Eq,Show)
instance Storable C'gsl_eigen_francis_workspace where
sizeOf _ = 28
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
v4 <- peekByteOff p 16
v5 <- peekByteOff p 20
v6 <- peekByteOff p 24
return $ C'gsl_eigen_francis_workspace v0 v1 v2 v3 v4 v5 v6
poke p (C'gsl_eigen_francis_workspace v0 v1 v2 v3 v4 v5 v6) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
pokeByteOff p 16 v4
pokeByteOff p 20 v5
pokeByteOff p 24 v6
return ()
foreign import ccall "gsl_eigen_francis_alloc" c'gsl_eigen_francis_alloc
:: IO (Ptr C'gsl_eigen_francis_workspace)
foreign import ccall "&gsl_eigen_francis_alloc" p'gsl_eigen_francis_alloc
:: FunPtr (IO (Ptr C'gsl_eigen_francis_workspace))
foreign import ccall "gsl_eigen_francis_free" c'gsl_eigen_francis_free
:: Ptr C'gsl_eigen_francis_workspace -> IO ()
foreign import ccall "&gsl_eigen_francis_free" p'gsl_eigen_francis_free
:: FunPtr (Ptr C'gsl_eigen_francis_workspace -> IO ())
foreign import ccall "gsl_eigen_francis_T" c'gsl_eigen_francis_T
:: CInt -> CInt -> Ptr C'gsl_eigen_francis_workspace -> IO ()
foreign import ccall "&gsl_eigen_francis_T" p'gsl_eigen_francis_T
:: FunPtr (CInt -> CInt -> Ptr C'gsl_eigen_francis_workspace -> IO ())
foreign import ccall "gsl_eigen_francis" c'gsl_eigen_francis
:: Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_eigen_francis_workspace -> IO CInt
foreign import ccall "&gsl_eigen_francis" p'gsl_eigen_francis
:: FunPtr (Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_eigen_francis_workspace -> IO CInt)
foreign import ccall "gsl_eigen_francis_Z" c'gsl_eigen_francis_Z
:: Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_matrix -> Ptr C'gsl_eigen_francis_workspace -> IO CInt
foreign import ccall "&gsl_eigen_francis_Z" p'gsl_eigen_francis_Z
:: FunPtr (Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_matrix -> Ptr C'gsl_eigen_francis_workspace -> IO CInt)
data C'gsl_eigen_nonsymm_workspace = C'gsl_eigen_nonsymm_workspace{
c'gsl_eigen_nonsymm_workspace'size :: CSize
,
c'gsl_eigen_nonsymm_workspace'diag :: Ptr C'gsl_vector
,
c'gsl_eigen_nonsymm_workspace'tau :: Ptr C'gsl_vector
,
c'gsl_eigen_nonsymm_workspace'Z :: Ptr C'gsl_matrix
,
c'gsl_eigen_nonsymm_workspace'do_balance :: CInt
,
c'gsl_eigen_nonsymm_workspace'n_evals :: CSize
,
c'gsl_eigen_nonsymm_workspace'francis_workspace_p :: Ptr C'gsl_eigen_francis_workspace
} deriving (Eq,Show)
instance Storable C'gsl_eigen_nonsymm_workspace where
sizeOf _ = 28
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
v4 <- peekByteOff p 16
v5 <- peekByteOff p 20
v6 <- peekByteOff p 24
return $ C'gsl_eigen_nonsymm_workspace v0 v1 v2 v3 v4 v5 v6
poke p (C'gsl_eigen_nonsymm_workspace v0 v1 v2 v3 v4 v5 v6) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
pokeByteOff p 16 v4
pokeByteOff p 20 v5
pokeByteOff p 24 v6
return ()
foreign import ccall "gsl_eigen_nonsymm_alloc" c'gsl_eigen_nonsymm_alloc
:: CSize -> IO (Ptr C'gsl_eigen_nonsymm_workspace)
foreign import ccall "&gsl_eigen_nonsymm_alloc" p'gsl_eigen_nonsymm_alloc
:: FunPtr (CSize -> IO (Ptr C'gsl_eigen_nonsymm_workspace))
foreign import ccall "gsl_eigen_nonsymm_free" c'gsl_eigen_nonsymm_free
:: Ptr C'gsl_eigen_nonsymm_workspace -> IO ()
foreign import ccall "&gsl_eigen_nonsymm_free" p'gsl_eigen_nonsymm_free
:: FunPtr (Ptr C'gsl_eigen_nonsymm_workspace -> IO ())
foreign import ccall "gsl_eigen_nonsymm_params" c'gsl_eigen_nonsymm_params
:: CInt -> CInt -> CInt -> CInt -> Ptr C'gsl_eigen_nonsymm_workspace -> IO ()
foreign import ccall "&gsl_eigen_nonsymm_params" p'gsl_eigen_nonsymm_params
:: FunPtr (CInt -> CInt -> CInt -> CInt -> Ptr C'gsl_eigen_nonsymm_workspace -> IO ())
foreign import ccall "gsl_eigen_nonsymm" c'gsl_eigen_nonsymm
:: Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_eigen_nonsymm_workspace -> IO CInt
foreign import ccall "&gsl_eigen_nonsymm" p'gsl_eigen_nonsymm
:: FunPtr (Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_eigen_nonsymm_workspace -> IO CInt)
foreign import ccall "gsl_eigen_nonsymm_Z" c'gsl_eigen_nonsymm_Z
:: Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_matrix -> Ptr C'gsl_eigen_nonsymm_workspace -> IO CInt
foreign import ccall "&gsl_eigen_nonsymm_Z" p'gsl_eigen_nonsymm_Z
:: FunPtr (Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_matrix -> Ptr C'gsl_eigen_nonsymm_workspace -> IO CInt)
data C'gsl_eigen_nonsymmv_workspace = C'gsl_eigen_nonsymmv_workspace{
c'gsl_eigen_nonsymmv_workspace'size :: CSize
,
c'gsl_eigen_nonsymmv_workspace'work :: Ptr C'gsl_vector
,
c'gsl_eigen_nonsymmv_workspace'work2 :: Ptr C'gsl_vector
,
c'gsl_eigen_nonsymmv_workspace'work3 :: Ptr C'gsl_vector
,
c'gsl_eigen_nonsymmv_workspace'Z :: Ptr C'gsl_matrix
,
c'gsl_eigen_nonsymmv_workspace'nonsymm_workspace_p :: Ptr C'gsl_eigen_nonsymm_workspace
} deriving (Eq,Show)
instance Storable C'gsl_eigen_nonsymmv_workspace where
sizeOf _ = 24
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
v4 <- peekByteOff p 16
v5 <- peekByteOff p 20
return $ C'gsl_eigen_nonsymmv_workspace v0 v1 v2 v3 v4 v5
poke p (C'gsl_eigen_nonsymmv_workspace v0 v1 v2 v3 v4 v5) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
pokeByteOff p 16 v4
pokeByteOff p 20 v5
return ()
foreign import ccall "gsl_eigen_nonsymmv_alloc" c'gsl_eigen_nonsymmv_alloc
:: CSize -> IO (Ptr C'gsl_eigen_nonsymmv_workspace)
foreign import ccall "&gsl_eigen_nonsymmv_alloc" p'gsl_eigen_nonsymmv_alloc
:: FunPtr (CSize -> IO (Ptr C'gsl_eigen_nonsymmv_workspace))
foreign import ccall "gsl_eigen_nonsymmv_free" c'gsl_eigen_nonsymmv_free
:: Ptr C'gsl_eigen_nonsymmv_workspace -> IO ()
foreign import ccall "&gsl_eigen_nonsymmv_free" p'gsl_eigen_nonsymmv_free
:: FunPtr (Ptr C'gsl_eigen_nonsymmv_workspace -> IO ())
foreign import ccall "gsl_eigen_nonsymmv" c'gsl_eigen_nonsymmv
:: Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_eigen_nonsymmv_workspace -> IO CInt
foreign import ccall "&gsl_eigen_nonsymmv" p'gsl_eigen_nonsymmv
:: FunPtr (Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_eigen_nonsymmv_workspace -> IO CInt)
foreign import ccall "gsl_eigen_nonsymmv_Z" c'gsl_eigen_nonsymmv_Z
:: Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_matrix -> Ptr C'gsl_eigen_nonsymmv_workspace -> IO CInt
foreign import ccall "&gsl_eigen_nonsymmv_Z" p'gsl_eigen_nonsymmv_Z
:: FunPtr (Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_matrix -> Ptr C'gsl_eigen_nonsymmv_workspace -> IO CInt)
data C'gsl_eigen_gensymm_workspace = C'gsl_eigen_gensymm_workspace{
c'gsl_eigen_gensymm_workspace'size :: CSize
,
c'gsl_eigen_gensymm_workspace'symm_workspace_p :: Ptr C'gsl_eigen_symm_workspace
} deriving (Eq,Show)
instance Storable C'gsl_eigen_gensymm_workspace where
sizeOf _ = 8
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
return $ C'gsl_eigen_gensymm_workspace v0 v1
poke p (C'gsl_eigen_gensymm_workspace v0 v1) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
return ()
foreign import ccall "gsl_eigen_gensymm_alloc" c'gsl_eigen_gensymm_alloc
:: CSize -> IO (Ptr C'gsl_eigen_gensymm_workspace)
foreign import ccall "&gsl_eigen_gensymm_alloc" p'gsl_eigen_gensymm_alloc
:: FunPtr (CSize -> IO (Ptr C'gsl_eigen_gensymm_workspace))
foreign import ccall "gsl_eigen_gensymm_free" c'gsl_eigen_gensymm_free
:: Ptr C'gsl_eigen_gensymm_workspace -> IO ()
foreign import ccall "&gsl_eigen_gensymm_free" p'gsl_eigen_gensymm_free
:: FunPtr (Ptr C'gsl_eigen_gensymm_workspace -> IO ())
foreign import ccall "gsl_eigen_gensymm" c'gsl_eigen_gensymm
:: Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr C'gsl_vector -> Ptr C'gsl_eigen_gensymm_workspace -> IO CInt
foreign import ccall "&gsl_eigen_gensymm" p'gsl_eigen_gensymm
:: FunPtr (Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr C'gsl_vector -> Ptr C'gsl_eigen_gensymm_workspace -> IO CInt)
foreign import ccall "gsl_eigen_gensymm_standardize" c'gsl_eigen_gensymm_standardize
:: Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> IO CInt
foreign import ccall "&gsl_eigen_gensymm_standardize" p'gsl_eigen_gensymm_standardize
:: FunPtr (Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> IO CInt)
data C'gsl_eigen_gensymmv_workspace = C'gsl_eigen_gensymmv_workspace{
c'gsl_eigen_gensymmv_workspace'size :: CSize
,
c'gsl_eigen_gensymmv_workspace'symmv_workspace_p :: Ptr C'gsl_eigen_symmv_workspace
} deriving (Eq,Show)
instance Storable C'gsl_eigen_gensymmv_workspace where
sizeOf _ = 8
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
return $ C'gsl_eigen_gensymmv_workspace v0 v1
poke p (C'gsl_eigen_gensymmv_workspace v0 v1) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
return ()
foreign import ccall "gsl_eigen_gensymmv_alloc" c'gsl_eigen_gensymmv_alloc
:: CSize -> IO (Ptr C'gsl_eigen_gensymmv_workspace)
foreign import ccall "&gsl_eigen_gensymmv_alloc" p'gsl_eigen_gensymmv_alloc
:: FunPtr (CSize -> IO (Ptr C'gsl_eigen_gensymmv_workspace))
foreign import ccall "gsl_eigen_gensymmv_free" c'gsl_eigen_gensymmv_free
:: Ptr C'gsl_eigen_gensymmv_workspace -> IO ()
foreign import ccall "&gsl_eigen_gensymmv_free" p'gsl_eigen_gensymmv_free
:: FunPtr (Ptr C'gsl_eigen_gensymmv_workspace -> IO ())
foreign import ccall "gsl_eigen_gensymmv" c'gsl_eigen_gensymmv
:: Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr C'gsl_vector -> Ptr C'gsl_matrix -> Ptr C'gsl_eigen_gensymmv_workspace -> IO CInt
foreign import ccall "&gsl_eigen_gensymmv" p'gsl_eigen_gensymmv
:: FunPtr (Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr C'gsl_vector -> Ptr C'gsl_matrix -> Ptr C'gsl_eigen_gensymmv_workspace -> IO CInt)
data C'gsl_eigen_genherm_workspace = C'gsl_eigen_genherm_workspace{
c'gsl_eigen_genherm_workspace'size :: CSize
,
c'gsl_eigen_genherm_workspace'herm_workspace_p :: Ptr C'gsl_eigen_herm_workspace
} deriving (Eq,Show)
instance Storable C'gsl_eigen_genherm_workspace where
sizeOf _ = 8
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
return $ C'gsl_eigen_genherm_workspace v0 v1
poke p (C'gsl_eigen_genherm_workspace v0 v1) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
return ()
foreign import ccall "gsl_eigen_genherm_alloc" c'gsl_eigen_genherm_alloc
:: CSize -> IO (Ptr C'gsl_eigen_genherm_workspace)
foreign import ccall "&gsl_eigen_genherm_alloc" p'gsl_eigen_genherm_alloc
:: FunPtr (CSize -> IO (Ptr C'gsl_eigen_genherm_workspace))
foreign import ccall "gsl_eigen_genherm_free" c'gsl_eigen_genherm_free
:: Ptr C'gsl_eigen_genherm_workspace -> IO ()
foreign import ccall "&gsl_eigen_genherm_free" p'gsl_eigen_genherm_free
:: FunPtr (Ptr C'gsl_eigen_genherm_workspace -> IO ())
foreign import ccall "gsl_eigen_genherm" c'gsl_eigen_genherm
:: Ptr C'gsl_matrix_complex -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_vector -> Ptr C'gsl_eigen_genherm_workspace -> IO CInt
foreign import ccall "&gsl_eigen_genherm" p'gsl_eigen_genherm
:: FunPtr (Ptr C'gsl_matrix_complex -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_vector -> Ptr C'gsl_eigen_genherm_workspace -> IO CInt)
foreign import ccall "gsl_eigen_genherm_standardize" c'gsl_eigen_genherm_standardize
:: Ptr C'gsl_matrix_complex -> Ptr C'gsl_matrix_complex -> IO CInt
foreign import ccall "&gsl_eigen_genherm_standardize" p'gsl_eigen_genherm_standardize
:: FunPtr (Ptr C'gsl_matrix_complex -> Ptr C'gsl_matrix_complex -> IO CInt)
data C'gsl_eigen_genhermv_workspace = C'gsl_eigen_genhermv_workspace{
c'gsl_eigen_genhermv_workspace'size :: CSize
,
c'gsl_eigen_genhermv_workspace'hermv_workspace_p :: Ptr C'gsl_eigen_hermv_workspace
} deriving (Eq,Show)
instance Storable C'gsl_eigen_genhermv_workspace where
sizeOf _ = 8
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
return $ C'gsl_eigen_genhermv_workspace v0 v1
poke p (C'gsl_eigen_genhermv_workspace v0 v1) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
return ()
foreign import ccall "gsl_eigen_genhermv_alloc" c'gsl_eigen_genhermv_alloc
:: CSize -> IO (Ptr C'gsl_eigen_genhermv_workspace)
foreign import ccall "&gsl_eigen_genhermv_alloc" p'gsl_eigen_genhermv_alloc
:: FunPtr (CSize -> IO (Ptr C'gsl_eigen_genhermv_workspace))
foreign import ccall "gsl_eigen_genhermv_free" c'gsl_eigen_genhermv_free
:: Ptr C'gsl_eigen_genhermv_workspace -> IO ()
foreign import ccall "&gsl_eigen_genhermv_free" p'gsl_eigen_genhermv_free
:: FunPtr (Ptr C'gsl_eigen_genhermv_workspace -> IO ())
foreign import ccall "gsl_eigen_genhermv" c'gsl_eigen_genhermv
:: Ptr C'gsl_matrix_complex -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_vector -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_eigen_genhermv_workspace -> IO CInt
foreign import ccall "&gsl_eigen_genhermv" p'gsl_eigen_genhermv
:: FunPtr (Ptr C'gsl_matrix_complex -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_vector -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_eigen_genhermv_workspace -> IO CInt)
data C'gsl_eigen_gen_workspace = C'gsl_eigen_gen_workspace{
c'gsl_eigen_gen_workspace'size :: CSize
,
c'gsl_eigen_gen_workspace'work :: Ptr C'gsl_vector
,
c'gsl_eigen_gen_workspace'n_evals :: CSize
,
c'gsl_eigen_gen_workspace'max_iterations :: CSize
,
c'gsl_eigen_gen_workspace'n_iter :: CSize
,
c'gsl_eigen_gen_workspace'eshift :: CDouble
,
c'gsl_eigen_gen_workspace'needtop :: CInt
,
c'gsl_eigen_gen_workspace'atol :: CDouble
,
c'gsl_eigen_gen_workspace'btol :: CDouble
,
c'gsl_eigen_gen_workspace'ascale :: CDouble
,
c'gsl_eigen_gen_workspace'bscale :: CDouble
,
c'gsl_eigen_gen_workspace'H :: Ptr C'gsl_matrix
,
c'gsl_eigen_gen_workspace'R :: Ptr C'gsl_matrix
,
c'gsl_eigen_gen_workspace'compute_s :: CInt
,
c'gsl_eigen_gen_workspace'compute_t :: CInt
,
c'gsl_eigen_gen_workspace'Q :: Ptr C'gsl_matrix
,
c'gsl_eigen_gen_workspace'Z :: Ptr C'gsl_matrix
} deriving (Eq,Show)
instance Storable C'gsl_eigen_gen_workspace where
sizeOf _ = 88
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
v4 <- peekByteOff p 16
v5 <- peekByteOff p 20
v6 <- peekByteOff p 28
v7 <- peekByteOff p 32
v8 <- peekByteOff p 40
v9 <- peekByteOff p 48
v10 <- peekByteOff p 56
v11 <- peekByteOff p 64
v12 <- peekByteOff p 68
v13 <- peekByteOff p 72
v14 <- peekByteOff p 76
v15 <- peekByteOff p 80
v16 <- peekByteOff p 84
return $ C'gsl_eigen_gen_workspace v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16
poke p (C'gsl_eigen_gen_workspace v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
pokeByteOff p 16 v4
pokeByteOff p 20 v5
pokeByteOff p 28 v6
pokeByteOff p 32 v7
pokeByteOff p 40 v8
pokeByteOff p 48 v9
pokeByteOff p 56 v10
pokeByteOff p 64 v11
pokeByteOff p 68 v12
pokeByteOff p 72 v13
pokeByteOff p 76 v14
pokeByteOff p 80 v15
pokeByteOff p 84 v16
return ()
foreign import ccall "gsl_eigen_gen_alloc" c'gsl_eigen_gen_alloc
:: CSize -> IO (Ptr C'gsl_eigen_gen_workspace)
foreign import ccall "&gsl_eigen_gen_alloc" p'gsl_eigen_gen_alloc
:: FunPtr (CSize -> IO (Ptr C'gsl_eigen_gen_workspace))
foreign import ccall "gsl_eigen_gen_free" c'gsl_eigen_gen_free
:: Ptr C'gsl_eigen_gen_workspace -> IO ()
foreign import ccall "&gsl_eigen_gen_free" p'gsl_eigen_gen_free
:: FunPtr (Ptr C'gsl_eigen_gen_workspace -> IO ())
foreign import ccall "gsl_eigen_gen_params" c'gsl_eigen_gen_params
:: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Ptr C'gsl_eigen_gen_workspace -> IO ()
foreign import ccall "&gsl_eigen_gen_params" p'gsl_eigen_gen_params
:: FunPtr (CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Ptr C'gsl_eigen_gen_workspace -> IO ())
foreign import ccall "gsl_eigen_gen" c'gsl_eigen_gen
:: Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_vector -> Ptr C'gsl_eigen_gen_workspace -> IO CInt
foreign import ccall "&gsl_eigen_gen" p'gsl_eigen_gen
:: FunPtr (Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_vector -> Ptr C'gsl_eigen_gen_workspace -> IO CInt)
foreign import ccall "gsl_eigen_gen_QZ" c'gsl_eigen_gen_QZ
:: Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_vector -> Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr C'gsl_eigen_gen_workspace -> IO CInt
foreign import ccall "&gsl_eigen_gen_QZ" p'gsl_eigen_gen_QZ
:: FunPtr (Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_vector -> Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr C'gsl_eigen_gen_workspace -> IO CInt)
data C'gsl_eigen_genv_workspace = C'gsl_eigen_genv_workspace{
c'gsl_eigen_genv_workspace'size :: CSize
,
c'gsl_eigen_genv_workspace'work1 :: Ptr C'gsl_vector
,
c'gsl_eigen_genv_workspace'work2 :: Ptr C'gsl_vector
,
c'gsl_eigen_genv_workspace'work3 :: Ptr C'gsl_vector
,
c'gsl_eigen_genv_workspace'work4 :: Ptr C'gsl_vector
,
c'gsl_eigen_genv_workspace'work5 :: Ptr C'gsl_vector
,
c'gsl_eigen_genv_workspace'work6 :: Ptr C'gsl_vector
,
c'gsl_eigen_genv_workspace'Q :: Ptr C'gsl_matrix
,
c'gsl_eigen_genv_workspace'Z :: Ptr C'gsl_matrix
,
c'gsl_eigen_genv_workspace'gen_workspace_p :: Ptr C'gsl_eigen_gen_workspace
} deriving (Eq,Show)
instance Storable C'gsl_eigen_genv_workspace where
sizeOf _ = 40
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
v4 <- peekByteOff p 16
v5 <- peekByteOff p 20
v6 <- peekByteOff p 24
v7 <- peekByteOff p 28
v8 <- peekByteOff p 32
v9 <- peekByteOff p 36
return $ C'gsl_eigen_genv_workspace v0 v1 v2 v3 v4 v5 v6 v7 v8 v9
poke p (C'gsl_eigen_genv_workspace v0 v1 v2 v3 v4 v5 v6 v7 v8 v9) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
pokeByteOff p 16 v4
pokeByteOff p 20 v5
pokeByteOff p 24 v6
pokeByteOff p 28 v7
pokeByteOff p 32 v8
pokeByteOff p 36 v9
return ()
foreign import ccall "gsl_eigen_genv_alloc" c'gsl_eigen_genv_alloc
:: CSize -> IO (Ptr C'gsl_eigen_genv_workspace)
foreign import ccall "&gsl_eigen_genv_alloc" p'gsl_eigen_genv_alloc
:: FunPtr (CSize -> IO (Ptr C'gsl_eigen_genv_workspace))
foreign import ccall "gsl_eigen_genv_free" c'gsl_eigen_genv_free
:: Ptr C'gsl_eigen_genv_workspace -> IO ()
foreign import ccall "&gsl_eigen_genv_free" p'gsl_eigen_genv_free
:: FunPtr (Ptr C'gsl_eigen_genv_workspace -> IO ())
foreign import ccall "gsl_eigen_genv" c'gsl_eigen_genv
:: Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_vector -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_eigen_genv_workspace -> IO CInt
foreign import ccall "&gsl_eigen_genv" p'gsl_eigen_genv
:: FunPtr (Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_vector -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_eigen_genv_workspace -> IO CInt)
foreign import ccall "gsl_eigen_genv_QZ" c'gsl_eigen_genv_QZ
:: Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_vector -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr C'gsl_eigen_genv_workspace -> IO CInt
foreign import ccall "&gsl_eigen_genv_QZ" p'gsl_eigen_genv_QZ
:: FunPtr (Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr C'gsl_vector_complex -> Ptr C'gsl_vector -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr C'gsl_eigen_genv_workspace -> IO CInt)
type C'gsl_eigen_sort_t = CUInt
c'GSL_EIGEN_SORT_VAL_ASC = 0
c'GSL_EIGEN_SORT_VAL_ASC :: (Num a) => a
c'GSL_EIGEN_SORT_VAL_DESC = 1
c'GSL_EIGEN_SORT_VAL_DESC :: (Num a) => a
c'GSL_EIGEN_SORT_ABS_ASC = 2
c'GSL_EIGEN_SORT_ABS_ASC :: (Num a) => a
c'GSL_EIGEN_SORT_ABS_DESC = 3
c'GSL_EIGEN_SORT_ABS_DESC :: (Num a) => a
foreign import ccall "gsl_eigen_symmv_sort" c'gsl_eigen_symmv_sort
:: Ptr C'gsl_vector -> Ptr C'gsl_matrix -> C'gsl_eigen_sort_t -> IO CInt
foreign import ccall "&gsl_eigen_symmv_sort" p'gsl_eigen_symmv_sort
:: FunPtr (Ptr C'gsl_vector -> Ptr C'gsl_matrix -> C'gsl_eigen_sort_t -> IO CInt)
foreign import ccall "gsl_eigen_hermv_sort" c'gsl_eigen_hermv_sort
:: Ptr C'gsl_vector -> Ptr C'gsl_matrix_complex -> C'gsl_eigen_sort_t -> IO CInt
foreign import ccall "&gsl_eigen_hermv_sort" p'gsl_eigen_hermv_sort
:: FunPtr (Ptr C'gsl_vector -> Ptr C'gsl_matrix_complex -> C'gsl_eigen_sort_t -> IO CInt)
foreign import ccall "gsl_eigen_nonsymmv_sort" c'gsl_eigen_nonsymmv_sort
:: Ptr C'gsl_vector_complex -> Ptr C'gsl_matrix_complex -> C'gsl_eigen_sort_t -> IO CInt
foreign import ccall "&gsl_eigen_nonsymmv_sort" p'gsl_eigen_nonsymmv_sort
:: FunPtr (Ptr C'gsl_vector_complex -> Ptr C'gsl_matrix_complex -> C'gsl_eigen_sort_t -> IO CInt)
foreign import ccall "gsl_eigen_gensymmv_sort" c'gsl_eigen_gensymmv_sort
:: Ptr C'gsl_vector -> Ptr C'gsl_matrix -> C'gsl_eigen_sort_t -> IO CInt
foreign import ccall "&gsl_eigen_gensymmv_sort" p'gsl_eigen_gensymmv_sort
:: FunPtr (Ptr C'gsl_vector -> Ptr C'gsl_matrix -> C'gsl_eigen_sort_t -> IO CInt)
foreign import ccall "gsl_eigen_genhermv_sort" c'gsl_eigen_genhermv_sort
:: Ptr C'gsl_vector -> Ptr C'gsl_matrix_complex -> C'gsl_eigen_sort_t -> IO CInt
foreign import ccall "&gsl_eigen_genhermv_sort" p'gsl_eigen_genhermv_sort
:: FunPtr (Ptr C'gsl_vector -> Ptr C'gsl_matrix_complex -> C'gsl_eigen_sort_t -> IO CInt)
foreign import ccall "gsl_eigen_genv_sort" c'gsl_eigen_genv_sort
:: Ptr C'gsl_vector_complex -> Ptr C'gsl_vector -> Ptr C'gsl_matrix_complex -> C'gsl_eigen_sort_t -> IO CInt
foreign import ccall "&gsl_eigen_genv_sort" p'gsl_eigen_genv_sort
:: FunPtr (Ptr C'gsl_vector_complex -> Ptr C'gsl_vector -> Ptr C'gsl_matrix_complex -> C'gsl_eigen_sort_t -> IO CInt)
foreign import ccall "gsl_schur_gen_eigvals" c'gsl_schur_gen_eigvals
:: Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> IO CInt
foreign import ccall "&gsl_schur_gen_eigvals" p'gsl_schur_gen_eigvals
:: FunPtr (Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> IO CInt)
foreign import ccall "gsl_schur_solve_equation" c'gsl_schur_solve_equation
:: CDouble -> Ptr C'gsl_matrix -> CDouble -> CDouble -> CDouble -> Ptr C'gsl_vector -> Ptr C'gsl_vector -> Ptr CDouble -> Ptr CDouble -> CDouble -> IO CInt
foreign import ccall "&gsl_schur_solve_equation" p'gsl_schur_solve_equation
:: FunPtr (CDouble -> Ptr C'gsl_matrix -> CDouble -> CDouble -> CDouble -> Ptr C'gsl_vector -> Ptr C'gsl_vector -> Ptr CDouble -> Ptr CDouble -> CDouble -> IO CInt)
foreign import ccall "gsl_schur_solve_equation_z" c'gsl_schur_solve_equation_z
:: CDouble -> Ptr C'gsl_matrix -> Ptr C'gsl_complex -> CDouble -> CDouble -> Ptr C'gsl_vector_complex -> Ptr C'gsl_vector_complex -> Ptr CDouble -> Ptr CDouble -> CDouble -> IO CInt
foreign import ccall "&gsl_schur_solve_equation_z" p'gsl_schur_solve_equation_z
:: FunPtr (CDouble -> Ptr C'gsl_matrix -> Ptr C'gsl_complex -> CDouble -> CDouble -> Ptr C'gsl_vector_complex -> Ptr C'gsl_vector_complex -> Ptr CDouble -> Ptr CDouble -> CDouble -> IO CInt)