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.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)