{-# LINE 1 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 2 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 3 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 4 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 5 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

-- | <http://www.gnu.org/software/gsl/manual/html_node/Data-types.html>

module Bindings.Gsl.VectorsAndMatrices.DataTypes 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

{-# LINE 10 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 12 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 13 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 14 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_block = C'gsl_block{
  c'gsl_block'size :: CSize,
  c'gsl_block'data :: Ptr CDouble
} deriving (Eq,Show)
p'gsl_block'size p = plusPtr p 0
p'gsl_block'size :: Ptr (C'gsl_block) -> Ptr (CSize)
p'gsl_block'data p = plusPtr p 4
p'gsl_block'data :: Ptr (C'gsl_block) -> Ptr (Ptr CDouble)
instance Storable C'gsl_block where
  sizeOf _ = 8
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'gsl_block v0 v1
  poke p (C'gsl_block v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 15 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 17 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 18 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 19 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_block_char = C'gsl_block_char{
  c'gsl_block_char'size :: CSize,
  c'gsl_block_char'data :: CString
} deriving (Eq,Show)
p'gsl_block_char'size p = plusPtr p 0
p'gsl_block_char'size :: Ptr (C'gsl_block_char) -> Ptr (CSize)
p'gsl_block_char'data p = plusPtr p 4
p'gsl_block_char'data :: Ptr (C'gsl_block_char) -> Ptr (CString)
instance Storable C'gsl_block_char where
  sizeOf _ = 8
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'gsl_block_char v0 v1
  poke p (C'gsl_block_char v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 20 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 22 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 23 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 24 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_block_complex = C'gsl_block_complex{
  c'gsl_block_complex'size :: CSize,
  c'gsl_block_complex'data :: Ptr CDouble
} deriving (Eq,Show)
p'gsl_block_complex'size p = plusPtr p 0
p'gsl_block_complex'size :: Ptr (C'gsl_block_complex) -> Ptr (CSize)
p'gsl_block_complex'data p = plusPtr p 4
p'gsl_block_complex'data :: Ptr (C'gsl_block_complex) -> Ptr (Ptr CDouble)
instance Storable C'gsl_block_complex where
  sizeOf _ = 8
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'gsl_block_complex v0 v1
  poke p (C'gsl_block_complex v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 25 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 27 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 28 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 29 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_block_complex_float = C'gsl_block_complex_float{
  c'gsl_block_complex_float'size :: CSize,
  c'gsl_block_complex_float'data :: Ptr CFloat
} deriving (Eq,Show)
p'gsl_block_complex_float'size p = plusPtr p 0
p'gsl_block_complex_float'size :: Ptr (C'gsl_block_complex_float) -> Ptr (CSize)
p'gsl_block_complex_float'data p = plusPtr p 4
p'gsl_block_complex_float'data :: Ptr (C'gsl_block_complex_float) -> Ptr (Ptr CFloat)
instance Storable C'gsl_block_complex_float where
  sizeOf _ = 8
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'gsl_block_complex_float v0 v1
  poke p (C'gsl_block_complex_float v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 30 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

-- #starttype gsl_block_complex_long_double
-- #field size , CSize
-- #field data , Ptr CLDouble
-- #stoptype


{-# LINE 37 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 38 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 39 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_block_float = C'gsl_block_float{
  c'gsl_block_float'size :: CSize,
  c'gsl_block_float'data :: Ptr CFloat
} deriving (Eq,Show)
p'gsl_block_float'size p = plusPtr p 0
p'gsl_block_float'size :: Ptr (C'gsl_block_float) -> Ptr (CSize)
p'gsl_block_float'data p = plusPtr p 4
p'gsl_block_float'data :: Ptr (C'gsl_block_float) -> Ptr (Ptr CFloat)
instance Storable C'gsl_block_float where
  sizeOf _ = 8
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'gsl_block_float v0 v1
  poke p (C'gsl_block_float v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 40 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 42 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 43 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 44 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_block_int = C'gsl_block_int{
  c'gsl_block_int'size :: CSize,
  c'gsl_block_int'data :: Ptr CInt
} deriving (Eq,Show)
p'gsl_block_int'size p = plusPtr p 0
p'gsl_block_int'size :: Ptr (C'gsl_block_int) -> Ptr (CSize)
p'gsl_block_int'data p = plusPtr p 4
p'gsl_block_int'data :: Ptr (C'gsl_block_int) -> Ptr (Ptr CInt)
instance Storable C'gsl_block_int where
  sizeOf _ = 8
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'gsl_block_int v0 v1
  poke p (C'gsl_block_int v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 45 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 47 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 48 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 49 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_block_long = C'gsl_block_long{
  c'gsl_block_long'size :: CSize,
  c'gsl_block_long'data :: Ptr CLong
} deriving (Eq,Show)
p'gsl_block_long'size p = plusPtr p 0
p'gsl_block_long'size :: Ptr (C'gsl_block_long) -> Ptr (CSize)
p'gsl_block_long'data p = plusPtr p 4
p'gsl_block_long'data :: Ptr (C'gsl_block_long) -> Ptr (Ptr CLong)
instance Storable C'gsl_block_long where
  sizeOf _ = 8
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'gsl_block_long v0 v1
  poke p (C'gsl_block_long v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 50 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

-- #starttype gsl_block_long_double
-- #field size , CSize
-- #field data , Ptr CLDouble
-- #stoptype


{-# LINE 57 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 58 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 59 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_block_short = C'gsl_block_short{
  c'gsl_block_short'size :: CSize,
  c'gsl_block_short'data :: Ptr CShort
} deriving (Eq,Show)
p'gsl_block_short'size p = plusPtr p 0
p'gsl_block_short'size :: Ptr (C'gsl_block_short) -> Ptr (CSize)
p'gsl_block_short'data p = plusPtr p 4
p'gsl_block_short'data :: Ptr (C'gsl_block_short) -> Ptr (Ptr CShort)
instance Storable C'gsl_block_short where
  sizeOf _ = 8
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'gsl_block_short v0 v1
  poke p (C'gsl_block_short v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 60 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 62 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 63 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 64 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_block_uchar = C'gsl_block_uchar{
  c'gsl_block_uchar'size :: CSize,
  c'gsl_block_uchar'data :: Ptr CUChar
} deriving (Eq,Show)
p'gsl_block_uchar'size p = plusPtr p 0
p'gsl_block_uchar'size :: Ptr (C'gsl_block_uchar) -> Ptr (CSize)
p'gsl_block_uchar'data p = plusPtr p 4
p'gsl_block_uchar'data :: Ptr (C'gsl_block_uchar) -> Ptr (Ptr CUChar)
instance Storable C'gsl_block_uchar where
  sizeOf _ = 8
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'gsl_block_uchar v0 v1
  poke p (C'gsl_block_uchar v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 65 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 67 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 68 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 69 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_block_uint = C'gsl_block_uint{
  c'gsl_block_uint'size :: CSize,
  c'gsl_block_uint'data :: Ptr CUInt
} deriving (Eq,Show)
p'gsl_block_uint'size p = plusPtr p 0
p'gsl_block_uint'size :: Ptr (C'gsl_block_uint) -> Ptr (CSize)
p'gsl_block_uint'data p = plusPtr p 4
p'gsl_block_uint'data :: Ptr (C'gsl_block_uint) -> Ptr (Ptr CUInt)
instance Storable C'gsl_block_uint where
  sizeOf _ = 8
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'gsl_block_uint v0 v1
  poke p (C'gsl_block_uint v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 70 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 72 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 73 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 74 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_block_ulong = C'gsl_block_ulong{
  c'gsl_block_ulong'size :: CSize,
  c'gsl_block_ulong'data :: Ptr CULong
} deriving (Eq,Show)
p'gsl_block_ulong'size p = plusPtr p 0
p'gsl_block_ulong'size :: Ptr (C'gsl_block_ulong) -> Ptr (CSize)
p'gsl_block_ulong'data p = plusPtr p 4
p'gsl_block_ulong'data :: Ptr (C'gsl_block_ulong) -> Ptr (Ptr CULong)
instance Storable C'gsl_block_ulong where
  sizeOf _ = 8
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'gsl_block_ulong v0 v1
  poke p (C'gsl_block_ulong v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 75 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 77 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 78 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 79 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_block_ushort = C'gsl_block_ushort{
  c'gsl_block_ushort'size :: CSize,
  c'gsl_block_ushort'data :: Ptr CUShort
} deriving (Eq,Show)
p'gsl_block_ushort'size p = plusPtr p 0
p'gsl_block_ushort'size :: Ptr (C'gsl_block_ushort) -> Ptr (CSize)
p'gsl_block_ushort'data p = plusPtr p 4
p'gsl_block_ushort'data :: Ptr (C'gsl_block_ushort) -> Ptr (Ptr CUShort)
instance Storable C'gsl_block_ushort where
  sizeOf _ = 8
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'gsl_block_ushort v0 v1
  poke p (C'gsl_block_ushort v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 80 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 82 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 83 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 84 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 85 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 86 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 87 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 88 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix = C'gsl_matrix{
  c'gsl_matrix'size1 :: CSize,
  c'gsl_matrix'size2 :: CSize,
  c'gsl_matrix'tda :: CSize,
  c'gsl_matrix'data :: Ptr CDouble,
  c'gsl_matrix'block :: Ptr C'gsl_block,
  c'gsl_matrix'owner :: CInt
} deriving (Eq,Show)
p'gsl_matrix'size1 p = plusPtr p 0
p'gsl_matrix'size1 :: Ptr (C'gsl_matrix) -> Ptr (CSize)
p'gsl_matrix'size2 p = plusPtr p 4
p'gsl_matrix'size2 :: Ptr (C'gsl_matrix) -> Ptr (CSize)
p'gsl_matrix'tda p = plusPtr p 8
p'gsl_matrix'tda :: Ptr (C'gsl_matrix) -> Ptr (CSize)
p'gsl_matrix'data p = plusPtr p 12
p'gsl_matrix'data :: Ptr (C'gsl_matrix) -> Ptr (Ptr CDouble)
p'gsl_matrix'block p = plusPtr p 16
p'gsl_matrix'block :: Ptr (C'gsl_matrix) -> Ptr (Ptr C'gsl_block)
p'gsl_matrix'owner p = plusPtr p 20
p'gsl_matrix'owner :: Ptr (C'gsl_matrix) -> Ptr (CInt)
instance Storable C'gsl_matrix where
  sizeOf _ = 24
  alignment _ = 4
  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_matrix v0 v1 v2 v3 v4 v5
  poke p (C'gsl_matrix 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 ()

{-# LINE 89 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 91 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 92 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 93 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 94 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 95 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 96 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 97 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_char = C'gsl_matrix_char{
  c'gsl_matrix_char'size1 :: CSize,
  c'gsl_matrix_char'size2 :: CSize,
  c'gsl_matrix_char'tda :: CSize,
  c'gsl_matrix_char'data :: CString,
  c'gsl_matrix_char'block :: Ptr C'gsl_block_char,
  c'gsl_matrix_char'owner :: CInt
} deriving (Eq,Show)
p'gsl_matrix_char'size1 p = plusPtr p 0
p'gsl_matrix_char'size1 :: Ptr (C'gsl_matrix_char) -> Ptr (CSize)
p'gsl_matrix_char'size2 p = plusPtr p 4
p'gsl_matrix_char'size2 :: Ptr (C'gsl_matrix_char) -> Ptr (CSize)
p'gsl_matrix_char'tda p = plusPtr p 8
p'gsl_matrix_char'tda :: Ptr (C'gsl_matrix_char) -> Ptr (CSize)
p'gsl_matrix_char'data p = plusPtr p 12
p'gsl_matrix_char'data :: Ptr (C'gsl_matrix_char) -> Ptr (CString)
p'gsl_matrix_char'block p = plusPtr p 16
p'gsl_matrix_char'block :: Ptr (C'gsl_matrix_char) -> Ptr (Ptr C'gsl_block_char)
p'gsl_matrix_char'owner p = plusPtr p 20
p'gsl_matrix_char'owner :: Ptr (C'gsl_matrix_char) -> Ptr (CInt)
instance Storable C'gsl_matrix_char where
  sizeOf _ = 24
  alignment _ = 4
  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_matrix_char v0 v1 v2 v3 v4 v5
  poke p (C'gsl_matrix_char 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 ()

{-# LINE 98 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 100 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 101 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_char_const_view = C'gsl_matrix_char_const_view{
  c'gsl_matrix_char_const_view'matrix :: C'gsl_matrix_char
} deriving (Eq,Show)
p'gsl_matrix_char_const_view'matrix p = plusPtr p 0
p'gsl_matrix_char_const_view'matrix :: Ptr (C'gsl_matrix_char_const_view) -> Ptr (C'gsl_matrix_char)
instance Storable C'gsl_matrix_char_const_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_char_const_view v0
  poke p (C'gsl_matrix_char_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 102 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 104 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 105 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_char_view = C'gsl_matrix_char_view{
  c'gsl_matrix_char_view'matrix :: C'gsl_matrix_char
} deriving (Eq,Show)
p'gsl_matrix_char_view'matrix p = plusPtr p 0
p'gsl_matrix_char_view'matrix :: Ptr (C'gsl_matrix_char_view) -> Ptr (C'gsl_matrix_char)
instance Storable C'gsl_matrix_char_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_char_view v0
  poke p (C'gsl_matrix_char_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 106 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 108 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 109 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 110 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 111 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 112 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 113 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 114 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_complex = C'gsl_matrix_complex{
  c'gsl_matrix_complex'size1 :: CSize,
  c'gsl_matrix_complex'size2 :: CSize,
  c'gsl_matrix_complex'tda :: CSize,
  c'gsl_matrix_complex'data :: Ptr CDouble,
  c'gsl_matrix_complex'block :: Ptr C'gsl_block_complex,
  c'gsl_matrix_complex'owner :: CInt
} deriving (Eq,Show)
p'gsl_matrix_complex'size1 p = plusPtr p 0
p'gsl_matrix_complex'size1 :: Ptr (C'gsl_matrix_complex) -> Ptr (CSize)
p'gsl_matrix_complex'size2 p = plusPtr p 4
p'gsl_matrix_complex'size2 :: Ptr (C'gsl_matrix_complex) -> Ptr (CSize)
p'gsl_matrix_complex'tda p = plusPtr p 8
p'gsl_matrix_complex'tda :: Ptr (C'gsl_matrix_complex) -> Ptr (CSize)
p'gsl_matrix_complex'data p = plusPtr p 12
p'gsl_matrix_complex'data :: Ptr (C'gsl_matrix_complex) -> Ptr (Ptr CDouble)
p'gsl_matrix_complex'block p = plusPtr p 16
p'gsl_matrix_complex'block :: Ptr (C'gsl_matrix_complex) -> Ptr (Ptr C'gsl_block_complex)
p'gsl_matrix_complex'owner p = plusPtr p 20
p'gsl_matrix_complex'owner :: Ptr (C'gsl_matrix_complex) -> Ptr (CInt)
instance Storable C'gsl_matrix_complex where
  sizeOf _ = 24
  alignment _ = 4
  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_matrix_complex v0 v1 v2 v3 v4 v5
  poke p (C'gsl_matrix_complex 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 ()

{-# LINE 115 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 117 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 118 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_complex_const_view = C'gsl_matrix_complex_const_view{
  c'gsl_matrix_complex_const_view'matrix :: C'gsl_matrix_complex
} deriving (Eq,Show)
p'gsl_matrix_complex_const_view'matrix p = plusPtr p 0
p'gsl_matrix_complex_const_view'matrix :: Ptr (C'gsl_matrix_complex_const_view) -> Ptr (C'gsl_matrix_complex)
instance Storable C'gsl_matrix_complex_const_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_complex_const_view v0
  poke p (C'gsl_matrix_complex_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 119 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 121 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 122 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 123 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 124 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 125 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 126 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 127 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_complex_float = C'gsl_matrix_complex_float{
  c'gsl_matrix_complex_float'size1 :: CSize,
  c'gsl_matrix_complex_float'size2 :: CSize,
  c'gsl_matrix_complex_float'tda :: CSize,
  c'gsl_matrix_complex_float'data :: Ptr CFloat,
  c'gsl_matrix_complex_float'block :: Ptr C'gsl_block_complex_float,
  c'gsl_matrix_complex_float'owner :: CInt
} deriving (Eq,Show)
p'gsl_matrix_complex_float'size1 p = plusPtr p 0
p'gsl_matrix_complex_float'size1 :: Ptr (C'gsl_matrix_complex_float) -> Ptr (CSize)
p'gsl_matrix_complex_float'size2 p = plusPtr p 4
p'gsl_matrix_complex_float'size2 :: Ptr (C'gsl_matrix_complex_float) -> Ptr (CSize)
p'gsl_matrix_complex_float'tda p = plusPtr p 8
p'gsl_matrix_complex_float'tda :: Ptr (C'gsl_matrix_complex_float) -> Ptr (CSize)
p'gsl_matrix_complex_float'data p = plusPtr p 12
p'gsl_matrix_complex_float'data :: Ptr (C'gsl_matrix_complex_float) -> Ptr (Ptr CFloat)
p'gsl_matrix_complex_float'block p = plusPtr p 16
p'gsl_matrix_complex_float'block :: Ptr (C'gsl_matrix_complex_float) -> Ptr (Ptr C'gsl_block_complex_float)
p'gsl_matrix_complex_float'owner p = plusPtr p 20
p'gsl_matrix_complex_float'owner :: Ptr (C'gsl_matrix_complex_float) -> Ptr (CInt)
instance Storable C'gsl_matrix_complex_float where
  sizeOf _ = 24
  alignment _ = 4
  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_matrix_complex_float v0 v1 v2 v3 v4 v5
  poke p (C'gsl_matrix_complex_float 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 ()

{-# LINE 128 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 130 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 131 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_complex_float_const_view = C'gsl_matrix_complex_float_const_view{
  c'gsl_matrix_complex_float_const_view'matrix :: C'gsl_matrix_complex_float
} deriving (Eq,Show)
p'gsl_matrix_complex_float_const_view'matrix p = plusPtr p 0
p'gsl_matrix_complex_float_const_view'matrix :: Ptr (C'gsl_matrix_complex_float_const_view) -> Ptr (C'gsl_matrix_complex_float)
instance Storable C'gsl_matrix_complex_float_const_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_complex_float_const_view v0
  poke p (C'gsl_matrix_complex_float_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 132 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 134 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 135 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_complex_float_view = C'gsl_matrix_complex_float_view{
  c'gsl_matrix_complex_float_view'matrix :: C'gsl_matrix_complex_float
} deriving (Eq,Show)
p'gsl_matrix_complex_float_view'matrix p = plusPtr p 0
p'gsl_matrix_complex_float_view'matrix :: Ptr (C'gsl_matrix_complex_float_view) -> Ptr (C'gsl_matrix_complex_float)
instance Storable C'gsl_matrix_complex_float_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_complex_float_view v0
  poke p (C'gsl_matrix_complex_float_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 136 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

-- #starttype gsl_matrix_complex_long_double
-- #field size1 , CSize
-- #field size2 , CSize
-- #field tda , CSize
-- #field data , Ptr CLDouble
-- #field block , Ptr <gsl_block_complex_long_double>
-- #field owner , CInt
-- #stoptype

-- #starttype gsl_matrix_complex_long_double_const_view
-- #field matrix , <gsl_matrix_complex_long_double>
-- #stoptype

-- #starttype gsl_matrix_complex_long_double_view
-- #field matrix , <gsl_matrix_complex_long_double>
-- #stoptype


{-# LINE 155 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 156 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_complex_view = C'gsl_matrix_complex_view{
  c'gsl_matrix_complex_view'matrix :: C'gsl_matrix_complex
} deriving (Eq,Show)
p'gsl_matrix_complex_view'matrix p = plusPtr p 0
p'gsl_matrix_complex_view'matrix :: Ptr (C'gsl_matrix_complex_view) -> Ptr (C'gsl_matrix_complex)
instance Storable C'gsl_matrix_complex_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_complex_view v0
  poke p (C'gsl_matrix_complex_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 157 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 159 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 160 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_const_view = C'gsl_matrix_const_view{
  c'gsl_matrix_const_view'matrix :: C'gsl_matrix
} deriving (Eq,Show)
p'gsl_matrix_const_view'matrix p = plusPtr p 0
p'gsl_matrix_const_view'matrix :: Ptr (C'gsl_matrix_const_view) -> Ptr (C'gsl_matrix)
instance Storable C'gsl_matrix_const_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_const_view v0
  poke p (C'gsl_matrix_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 161 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 163 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 164 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 165 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 166 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 167 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 168 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 169 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_float = C'gsl_matrix_float{
  c'gsl_matrix_float'size1 :: CSize,
  c'gsl_matrix_float'size2 :: CSize,
  c'gsl_matrix_float'tda :: CSize,
  c'gsl_matrix_float'data :: Ptr CFloat,
  c'gsl_matrix_float'block :: Ptr C'gsl_block_float,
  c'gsl_matrix_float'owner :: CInt
} deriving (Eq,Show)
p'gsl_matrix_float'size1 p = plusPtr p 0
p'gsl_matrix_float'size1 :: Ptr (C'gsl_matrix_float) -> Ptr (CSize)
p'gsl_matrix_float'size2 p = plusPtr p 4
p'gsl_matrix_float'size2 :: Ptr (C'gsl_matrix_float) -> Ptr (CSize)
p'gsl_matrix_float'tda p = plusPtr p 8
p'gsl_matrix_float'tda :: Ptr (C'gsl_matrix_float) -> Ptr (CSize)
p'gsl_matrix_float'data p = plusPtr p 12
p'gsl_matrix_float'data :: Ptr (C'gsl_matrix_float) -> Ptr (Ptr CFloat)
p'gsl_matrix_float'block p = plusPtr p 16
p'gsl_matrix_float'block :: Ptr (C'gsl_matrix_float) -> Ptr (Ptr C'gsl_block_float)
p'gsl_matrix_float'owner p = plusPtr p 20
p'gsl_matrix_float'owner :: Ptr (C'gsl_matrix_float) -> Ptr (CInt)
instance Storable C'gsl_matrix_float where
  sizeOf _ = 24
  alignment _ = 4
  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_matrix_float v0 v1 v2 v3 v4 v5
  poke p (C'gsl_matrix_float 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 ()

{-# LINE 170 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 172 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 173 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_float_const_view = C'gsl_matrix_float_const_view{
  c'gsl_matrix_float_const_view'matrix :: C'gsl_matrix_float
} deriving (Eq,Show)
p'gsl_matrix_float_const_view'matrix p = plusPtr p 0
p'gsl_matrix_float_const_view'matrix :: Ptr (C'gsl_matrix_float_const_view) -> Ptr (C'gsl_matrix_float)
instance Storable C'gsl_matrix_float_const_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_float_const_view v0
  poke p (C'gsl_matrix_float_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 174 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 176 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 177 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_float_view = C'gsl_matrix_float_view{
  c'gsl_matrix_float_view'matrix :: C'gsl_matrix_float
} deriving (Eq,Show)
p'gsl_matrix_float_view'matrix p = plusPtr p 0
p'gsl_matrix_float_view'matrix :: Ptr (C'gsl_matrix_float_view) -> Ptr (C'gsl_matrix_float)
instance Storable C'gsl_matrix_float_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_float_view v0
  poke p (C'gsl_matrix_float_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 178 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 180 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 181 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 182 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 183 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 184 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 185 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 186 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_int = C'gsl_matrix_int{
  c'gsl_matrix_int'size1 :: CSize,
  c'gsl_matrix_int'size2 :: CSize,
  c'gsl_matrix_int'tda :: CSize,
  c'gsl_matrix_int'data :: Ptr CInt,
  c'gsl_matrix_int'block :: Ptr C'gsl_block_int,
  c'gsl_matrix_int'owner :: CInt
} deriving (Eq,Show)
p'gsl_matrix_int'size1 p = plusPtr p 0
p'gsl_matrix_int'size1 :: Ptr (C'gsl_matrix_int) -> Ptr (CSize)
p'gsl_matrix_int'size2 p = plusPtr p 4
p'gsl_matrix_int'size2 :: Ptr (C'gsl_matrix_int) -> Ptr (CSize)
p'gsl_matrix_int'tda p = plusPtr p 8
p'gsl_matrix_int'tda :: Ptr (C'gsl_matrix_int) -> Ptr (CSize)
p'gsl_matrix_int'data p = plusPtr p 12
p'gsl_matrix_int'data :: Ptr (C'gsl_matrix_int) -> Ptr (Ptr CInt)
p'gsl_matrix_int'block p = plusPtr p 16
p'gsl_matrix_int'block :: Ptr (C'gsl_matrix_int) -> Ptr (Ptr C'gsl_block_int)
p'gsl_matrix_int'owner p = plusPtr p 20
p'gsl_matrix_int'owner :: Ptr (C'gsl_matrix_int) -> Ptr (CInt)
instance Storable C'gsl_matrix_int where
  sizeOf _ = 24
  alignment _ = 4
  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_matrix_int v0 v1 v2 v3 v4 v5
  poke p (C'gsl_matrix_int 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 ()

{-# LINE 187 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 189 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 190 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_int_const_view = C'gsl_matrix_int_const_view{
  c'gsl_matrix_int_const_view'matrix :: C'gsl_matrix_int
} deriving (Eq,Show)
p'gsl_matrix_int_const_view'matrix p = plusPtr p 0
p'gsl_matrix_int_const_view'matrix :: Ptr (C'gsl_matrix_int_const_view) -> Ptr (C'gsl_matrix_int)
instance Storable C'gsl_matrix_int_const_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_int_const_view v0
  poke p (C'gsl_matrix_int_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 191 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 193 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 194 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_int_view = C'gsl_matrix_int_view{
  c'gsl_matrix_int_view'matrix :: C'gsl_matrix_int
} deriving (Eq,Show)
p'gsl_matrix_int_view'matrix p = plusPtr p 0
p'gsl_matrix_int_view'matrix :: Ptr (C'gsl_matrix_int_view) -> Ptr (C'gsl_matrix_int)
instance Storable C'gsl_matrix_int_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_int_view v0
  poke p (C'gsl_matrix_int_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 195 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 197 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 198 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 199 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 200 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 201 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 202 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 203 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_long = C'gsl_matrix_long{
  c'gsl_matrix_long'size1 :: CSize,
  c'gsl_matrix_long'size2 :: CSize,
  c'gsl_matrix_long'tda :: CSize,
  c'gsl_matrix_long'data :: Ptr CLong,
  c'gsl_matrix_long'block :: Ptr C'gsl_block_long,
  c'gsl_matrix_long'owner :: CInt
} deriving (Eq,Show)
p'gsl_matrix_long'size1 p = plusPtr p 0
p'gsl_matrix_long'size1 :: Ptr (C'gsl_matrix_long) -> Ptr (CSize)
p'gsl_matrix_long'size2 p = plusPtr p 4
p'gsl_matrix_long'size2 :: Ptr (C'gsl_matrix_long) -> Ptr (CSize)
p'gsl_matrix_long'tda p = plusPtr p 8
p'gsl_matrix_long'tda :: Ptr (C'gsl_matrix_long) -> Ptr (CSize)
p'gsl_matrix_long'data p = plusPtr p 12
p'gsl_matrix_long'data :: Ptr (C'gsl_matrix_long) -> Ptr (Ptr CLong)
p'gsl_matrix_long'block p = plusPtr p 16
p'gsl_matrix_long'block :: Ptr (C'gsl_matrix_long) -> Ptr (Ptr C'gsl_block_long)
p'gsl_matrix_long'owner p = plusPtr p 20
p'gsl_matrix_long'owner :: Ptr (C'gsl_matrix_long) -> Ptr (CInt)
instance Storable C'gsl_matrix_long where
  sizeOf _ = 24
  alignment _ = 4
  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_matrix_long v0 v1 v2 v3 v4 v5
  poke p (C'gsl_matrix_long 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 ()

{-# LINE 204 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 206 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 207 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_long_const_view = C'gsl_matrix_long_const_view{
  c'gsl_matrix_long_const_view'matrix :: C'gsl_matrix_long
} deriving (Eq,Show)
p'gsl_matrix_long_const_view'matrix p = plusPtr p 0
p'gsl_matrix_long_const_view'matrix :: Ptr (C'gsl_matrix_long_const_view) -> Ptr (C'gsl_matrix_long)
instance Storable C'gsl_matrix_long_const_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_long_const_view v0
  poke p (C'gsl_matrix_long_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 208 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

-- #starttype gsl_matrix_long_double
-- #field size1 , CSize
-- #field size2 , CSize
-- #field tda , CSize
-- #field data , Ptr CLDouble
-- #field block , Ptr <gsl_block_long_double>
-- #field owner , CInt
-- #stoptype

-- #starttype gsl_matrix_long_double_const_view
-- #field matrix , <gsl_matrix_long_double>
-- #stoptype

-- #starttype gsl_matrix_long_double_view
-- #field matrix , <gsl_matrix_long_double>
-- #stoptype


{-# LINE 227 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 228 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_long_view = C'gsl_matrix_long_view{
  c'gsl_matrix_long_view'matrix :: C'gsl_matrix_long
} deriving (Eq,Show)
p'gsl_matrix_long_view'matrix p = plusPtr p 0
p'gsl_matrix_long_view'matrix :: Ptr (C'gsl_matrix_long_view) -> Ptr (C'gsl_matrix_long)
instance Storable C'gsl_matrix_long_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_long_view v0
  poke p (C'gsl_matrix_long_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 229 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 231 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 232 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 233 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 234 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 235 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 236 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 237 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_short = C'gsl_matrix_short{
  c'gsl_matrix_short'size1 :: CSize,
  c'gsl_matrix_short'size2 :: CSize,
  c'gsl_matrix_short'tda :: CSize,
  c'gsl_matrix_short'data :: Ptr CShort,
  c'gsl_matrix_short'block :: Ptr C'gsl_block_short,
  c'gsl_matrix_short'owner :: CInt
} deriving (Eq,Show)
p'gsl_matrix_short'size1 p = plusPtr p 0
p'gsl_matrix_short'size1 :: Ptr (C'gsl_matrix_short) -> Ptr (CSize)
p'gsl_matrix_short'size2 p = plusPtr p 4
p'gsl_matrix_short'size2 :: Ptr (C'gsl_matrix_short) -> Ptr (CSize)
p'gsl_matrix_short'tda p = plusPtr p 8
p'gsl_matrix_short'tda :: Ptr (C'gsl_matrix_short) -> Ptr (CSize)
p'gsl_matrix_short'data p = plusPtr p 12
p'gsl_matrix_short'data :: Ptr (C'gsl_matrix_short) -> Ptr (Ptr CShort)
p'gsl_matrix_short'block p = plusPtr p 16
p'gsl_matrix_short'block :: Ptr (C'gsl_matrix_short) -> Ptr (Ptr C'gsl_block_short)
p'gsl_matrix_short'owner p = plusPtr p 20
p'gsl_matrix_short'owner :: Ptr (C'gsl_matrix_short) -> Ptr (CInt)
instance Storable C'gsl_matrix_short where
  sizeOf _ = 24
  alignment _ = 4
  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_matrix_short v0 v1 v2 v3 v4 v5
  poke p (C'gsl_matrix_short 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 ()

{-# LINE 238 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 240 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 241 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_short_const_view = C'gsl_matrix_short_const_view{
  c'gsl_matrix_short_const_view'matrix :: C'gsl_matrix_short
} deriving (Eq,Show)
p'gsl_matrix_short_const_view'matrix p = plusPtr p 0
p'gsl_matrix_short_const_view'matrix :: Ptr (C'gsl_matrix_short_const_view) -> Ptr (C'gsl_matrix_short)
instance Storable C'gsl_matrix_short_const_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_short_const_view v0
  poke p (C'gsl_matrix_short_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 242 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 244 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 245 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_short_view = C'gsl_matrix_short_view{
  c'gsl_matrix_short_view'matrix :: C'gsl_matrix_short
} deriving (Eq,Show)
p'gsl_matrix_short_view'matrix p = plusPtr p 0
p'gsl_matrix_short_view'matrix :: Ptr (C'gsl_matrix_short_view) -> Ptr (C'gsl_matrix_short)
instance Storable C'gsl_matrix_short_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_short_view v0
  poke p (C'gsl_matrix_short_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 246 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 248 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 249 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 250 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 251 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 252 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 253 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 254 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_uchar = C'gsl_matrix_uchar{
  c'gsl_matrix_uchar'size1 :: CSize,
  c'gsl_matrix_uchar'size2 :: CSize,
  c'gsl_matrix_uchar'tda :: CSize,
  c'gsl_matrix_uchar'data :: Ptr CUChar,
  c'gsl_matrix_uchar'block :: Ptr C'gsl_block_uchar,
  c'gsl_matrix_uchar'owner :: CInt
} deriving (Eq,Show)
p'gsl_matrix_uchar'size1 p = plusPtr p 0
p'gsl_matrix_uchar'size1 :: Ptr (C'gsl_matrix_uchar) -> Ptr (CSize)
p'gsl_matrix_uchar'size2 p = plusPtr p 4
p'gsl_matrix_uchar'size2 :: Ptr (C'gsl_matrix_uchar) -> Ptr (CSize)
p'gsl_matrix_uchar'tda p = plusPtr p 8
p'gsl_matrix_uchar'tda :: Ptr (C'gsl_matrix_uchar) -> Ptr (CSize)
p'gsl_matrix_uchar'data p = plusPtr p 12
p'gsl_matrix_uchar'data :: Ptr (C'gsl_matrix_uchar) -> Ptr (Ptr CUChar)
p'gsl_matrix_uchar'block p = plusPtr p 16
p'gsl_matrix_uchar'block :: Ptr (C'gsl_matrix_uchar) -> Ptr (Ptr C'gsl_block_uchar)
p'gsl_matrix_uchar'owner p = plusPtr p 20
p'gsl_matrix_uchar'owner :: Ptr (C'gsl_matrix_uchar) -> Ptr (CInt)
instance Storable C'gsl_matrix_uchar where
  sizeOf _ = 24
  alignment _ = 4
  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_matrix_uchar v0 v1 v2 v3 v4 v5
  poke p (C'gsl_matrix_uchar 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 ()

{-# LINE 255 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 257 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 258 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_uchar_const_view = C'gsl_matrix_uchar_const_view{
  c'gsl_matrix_uchar_const_view'matrix :: C'gsl_matrix_uchar
} deriving (Eq,Show)
p'gsl_matrix_uchar_const_view'matrix p = plusPtr p 0
p'gsl_matrix_uchar_const_view'matrix :: Ptr (C'gsl_matrix_uchar_const_view) -> Ptr (C'gsl_matrix_uchar)
instance Storable C'gsl_matrix_uchar_const_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_uchar_const_view v0
  poke p (C'gsl_matrix_uchar_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 259 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 261 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 262 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_uchar_view = C'gsl_matrix_uchar_view{
  c'gsl_matrix_uchar_view'matrix :: C'gsl_matrix_uchar
} deriving (Eq,Show)
p'gsl_matrix_uchar_view'matrix p = plusPtr p 0
p'gsl_matrix_uchar_view'matrix :: Ptr (C'gsl_matrix_uchar_view) -> Ptr (C'gsl_matrix_uchar)
instance Storable C'gsl_matrix_uchar_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_uchar_view v0
  poke p (C'gsl_matrix_uchar_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 263 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 265 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 266 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 267 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 268 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 269 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 270 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 271 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_uint = C'gsl_matrix_uint{
  c'gsl_matrix_uint'size1 :: CSize,
  c'gsl_matrix_uint'size2 :: CSize,
  c'gsl_matrix_uint'tda :: CSize,
  c'gsl_matrix_uint'data :: Ptr CUInt,
  c'gsl_matrix_uint'block :: Ptr C'gsl_block_uint,
  c'gsl_matrix_uint'owner :: CInt
} deriving (Eq,Show)
p'gsl_matrix_uint'size1 p = plusPtr p 0
p'gsl_matrix_uint'size1 :: Ptr (C'gsl_matrix_uint) -> Ptr (CSize)
p'gsl_matrix_uint'size2 p = plusPtr p 4
p'gsl_matrix_uint'size2 :: Ptr (C'gsl_matrix_uint) -> Ptr (CSize)
p'gsl_matrix_uint'tda p = plusPtr p 8
p'gsl_matrix_uint'tda :: Ptr (C'gsl_matrix_uint) -> Ptr (CSize)
p'gsl_matrix_uint'data p = plusPtr p 12
p'gsl_matrix_uint'data :: Ptr (C'gsl_matrix_uint) -> Ptr (Ptr CUInt)
p'gsl_matrix_uint'block p = plusPtr p 16
p'gsl_matrix_uint'block :: Ptr (C'gsl_matrix_uint) -> Ptr (Ptr C'gsl_block_uint)
p'gsl_matrix_uint'owner p = plusPtr p 20
p'gsl_matrix_uint'owner :: Ptr (C'gsl_matrix_uint) -> Ptr (CInt)
instance Storable C'gsl_matrix_uint where
  sizeOf _ = 24
  alignment _ = 4
  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_matrix_uint v0 v1 v2 v3 v4 v5
  poke p (C'gsl_matrix_uint 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 ()

{-# LINE 272 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 274 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 275 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_uint_const_view = C'gsl_matrix_uint_const_view{
  c'gsl_matrix_uint_const_view'matrix :: C'gsl_matrix_uint
} deriving (Eq,Show)
p'gsl_matrix_uint_const_view'matrix p = plusPtr p 0
p'gsl_matrix_uint_const_view'matrix :: Ptr (C'gsl_matrix_uint_const_view) -> Ptr (C'gsl_matrix_uint)
instance Storable C'gsl_matrix_uint_const_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_uint_const_view v0
  poke p (C'gsl_matrix_uint_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 276 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 278 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 279 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_uint_view = C'gsl_matrix_uint_view{
  c'gsl_matrix_uint_view'matrix :: C'gsl_matrix_uint
} deriving (Eq,Show)
p'gsl_matrix_uint_view'matrix p = plusPtr p 0
p'gsl_matrix_uint_view'matrix :: Ptr (C'gsl_matrix_uint_view) -> Ptr (C'gsl_matrix_uint)
instance Storable C'gsl_matrix_uint_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_uint_view v0
  poke p (C'gsl_matrix_uint_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 280 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 282 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 283 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 284 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 285 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 286 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 287 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 288 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_ulong = C'gsl_matrix_ulong{
  c'gsl_matrix_ulong'size1 :: CSize,
  c'gsl_matrix_ulong'size2 :: CSize,
  c'gsl_matrix_ulong'tda :: CSize,
  c'gsl_matrix_ulong'data :: Ptr CULong,
  c'gsl_matrix_ulong'block :: Ptr C'gsl_block_ulong,
  c'gsl_matrix_ulong'owner :: CInt
} deriving (Eq,Show)
p'gsl_matrix_ulong'size1 p = plusPtr p 0
p'gsl_matrix_ulong'size1 :: Ptr (C'gsl_matrix_ulong) -> Ptr (CSize)
p'gsl_matrix_ulong'size2 p = plusPtr p 4
p'gsl_matrix_ulong'size2 :: Ptr (C'gsl_matrix_ulong) -> Ptr (CSize)
p'gsl_matrix_ulong'tda p = plusPtr p 8
p'gsl_matrix_ulong'tda :: Ptr (C'gsl_matrix_ulong) -> Ptr (CSize)
p'gsl_matrix_ulong'data p = plusPtr p 12
p'gsl_matrix_ulong'data :: Ptr (C'gsl_matrix_ulong) -> Ptr (Ptr CULong)
p'gsl_matrix_ulong'block p = plusPtr p 16
p'gsl_matrix_ulong'block :: Ptr (C'gsl_matrix_ulong) -> Ptr (Ptr C'gsl_block_ulong)
p'gsl_matrix_ulong'owner p = plusPtr p 20
p'gsl_matrix_ulong'owner :: Ptr (C'gsl_matrix_ulong) -> Ptr (CInt)
instance Storable C'gsl_matrix_ulong where
  sizeOf _ = 24
  alignment _ = 4
  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_matrix_ulong v0 v1 v2 v3 v4 v5
  poke p (C'gsl_matrix_ulong 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 ()

{-# LINE 289 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 291 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 292 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_ulong_const_view = C'gsl_matrix_ulong_const_view{
  c'gsl_matrix_ulong_const_view'matrix :: C'gsl_matrix_ulong
} deriving (Eq,Show)
p'gsl_matrix_ulong_const_view'matrix p = plusPtr p 0
p'gsl_matrix_ulong_const_view'matrix :: Ptr (C'gsl_matrix_ulong_const_view) -> Ptr (C'gsl_matrix_ulong)
instance Storable C'gsl_matrix_ulong_const_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_ulong_const_view v0
  poke p (C'gsl_matrix_ulong_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 293 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 295 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 296 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_ulong_view = C'gsl_matrix_ulong_view{
  c'gsl_matrix_ulong_view'matrix :: C'gsl_matrix_ulong
} deriving (Eq,Show)
p'gsl_matrix_ulong_view'matrix p = plusPtr p 0
p'gsl_matrix_ulong_view'matrix :: Ptr (C'gsl_matrix_ulong_view) -> Ptr (C'gsl_matrix_ulong)
instance Storable C'gsl_matrix_ulong_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_ulong_view v0
  poke p (C'gsl_matrix_ulong_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 297 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 299 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 300 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 301 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 302 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 303 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 304 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 305 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_ushort = C'gsl_matrix_ushort{
  c'gsl_matrix_ushort'size1 :: CSize,
  c'gsl_matrix_ushort'size2 :: CSize,
  c'gsl_matrix_ushort'tda :: CSize,
  c'gsl_matrix_ushort'data :: Ptr CUShort,
  c'gsl_matrix_ushort'block :: Ptr C'gsl_block_ushort,
  c'gsl_matrix_ushort'owner :: CInt
} deriving (Eq,Show)
p'gsl_matrix_ushort'size1 p = plusPtr p 0
p'gsl_matrix_ushort'size1 :: Ptr (C'gsl_matrix_ushort) -> Ptr (CSize)
p'gsl_matrix_ushort'size2 p = plusPtr p 4
p'gsl_matrix_ushort'size2 :: Ptr (C'gsl_matrix_ushort) -> Ptr (CSize)
p'gsl_matrix_ushort'tda p = plusPtr p 8
p'gsl_matrix_ushort'tda :: Ptr (C'gsl_matrix_ushort) -> Ptr (CSize)
p'gsl_matrix_ushort'data p = plusPtr p 12
p'gsl_matrix_ushort'data :: Ptr (C'gsl_matrix_ushort) -> Ptr (Ptr CUShort)
p'gsl_matrix_ushort'block p = plusPtr p 16
p'gsl_matrix_ushort'block :: Ptr (C'gsl_matrix_ushort) -> Ptr (Ptr C'gsl_block_ushort)
p'gsl_matrix_ushort'owner p = plusPtr p 20
p'gsl_matrix_ushort'owner :: Ptr (C'gsl_matrix_ushort) -> Ptr (CInt)
instance Storable C'gsl_matrix_ushort where
  sizeOf _ = 24
  alignment _ = 4
  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_matrix_ushort v0 v1 v2 v3 v4 v5
  poke p (C'gsl_matrix_ushort 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 ()

{-# LINE 306 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 308 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 309 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_ushort_const_view = C'gsl_matrix_ushort_const_view{
  c'gsl_matrix_ushort_const_view'matrix :: C'gsl_matrix_ushort
} deriving (Eq,Show)
p'gsl_matrix_ushort_const_view'matrix p = plusPtr p 0
p'gsl_matrix_ushort_const_view'matrix :: Ptr (C'gsl_matrix_ushort_const_view) -> Ptr (C'gsl_matrix_ushort)
instance Storable C'gsl_matrix_ushort_const_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_ushort_const_view v0
  poke p (C'gsl_matrix_ushort_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 310 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 312 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 313 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_ushort_view = C'gsl_matrix_ushort_view{
  c'gsl_matrix_ushort_view'matrix :: C'gsl_matrix_ushort
} deriving (Eq,Show)
p'gsl_matrix_ushort_view'matrix p = plusPtr p 0
p'gsl_matrix_ushort_view'matrix :: Ptr (C'gsl_matrix_ushort_view) -> Ptr (C'gsl_matrix_ushort)
instance Storable C'gsl_matrix_ushort_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_ushort_view v0
  poke p (C'gsl_matrix_ushort_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 314 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 316 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 317 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_matrix_view = C'gsl_matrix_view{
  c'gsl_matrix_view'matrix :: C'gsl_matrix
} deriving (Eq,Show)
p'gsl_matrix_view'matrix p = plusPtr p 0
p'gsl_matrix_view'matrix :: Ptr (C'gsl_matrix_view) -> Ptr (C'gsl_matrix)
instance Storable C'gsl_matrix_view where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_matrix_view v0
  poke p (C'gsl_matrix_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 318 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 320 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 321 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 322 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 323 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 324 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 325 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector = C'gsl_vector{
  c'gsl_vector'size :: CSize,
  c'gsl_vector'stride :: CSize,
  c'gsl_vector'data :: Ptr CDouble,
  c'gsl_vector'block :: Ptr C'gsl_block,
  c'gsl_vector'owner :: CInt
} deriving (Eq,Show)
p'gsl_vector'size p = plusPtr p 0
p'gsl_vector'size :: Ptr (C'gsl_vector) -> Ptr (CSize)
p'gsl_vector'stride p = plusPtr p 4
p'gsl_vector'stride :: Ptr (C'gsl_vector) -> Ptr (CSize)
p'gsl_vector'data p = plusPtr p 8
p'gsl_vector'data :: Ptr (C'gsl_vector) -> Ptr (Ptr CDouble)
p'gsl_vector'block p = plusPtr p 12
p'gsl_vector'block :: Ptr (C'gsl_vector) -> Ptr (Ptr C'gsl_block)
p'gsl_vector'owner p = plusPtr p 16
p'gsl_vector'owner :: Ptr (C'gsl_vector) -> Ptr (CInt)
instance Storable C'gsl_vector where
  sizeOf _ = 20
  alignment _ = 4
  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_vector v0 v1 v2 v3 v4
  poke p (C'gsl_vector 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 ()

{-# LINE 326 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 328 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 329 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 330 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 331 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 332 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 333 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_char = C'gsl_vector_char{
  c'gsl_vector_char'size :: CSize,
  c'gsl_vector_char'stride :: CSize,
  c'gsl_vector_char'data :: CString,
  c'gsl_vector_char'block :: Ptr C'gsl_block_char,
  c'gsl_vector_char'owner :: CInt
} deriving (Eq,Show)
p'gsl_vector_char'size p = plusPtr p 0
p'gsl_vector_char'size :: Ptr (C'gsl_vector_char) -> Ptr (CSize)
p'gsl_vector_char'stride p = plusPtr p 4
p'gsl_vector_char'stride :: Ptr (C'gsl_vector_char) -> Ptr (CSize)
p'gsl_vector_char'data p = plusPtr p 8
p'gsl_vector_char'data :: Ptr (C'gsl_vector_char) -> Ptr (CString)
p'gsl_vector_char'block p = plusPtr p 12
p'gsl_vector_char'block :: Ptr (C'gsl_vector_char) -> Ptr (Ptr C'gsl_block_char)
p'gsl_vector_char'owner p = plusPtr p 16
p'gsl_vector_char'owner :: Ptr (C'gsl_vector_char) -> Ptr (CInt)
instance Storable C'gsl_vector_char where
  sizeOf _ = 20
  alignment _ = 4
  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_vector_char v0 v1 v2 v3 v4
  poke p (C'gsl_vector_char 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 ()

{-# LINE 334 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 336 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 337 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_char_const_view = C'gsl_vector_char_const_view{
  c'gsl_vector_char_const_view'vector :: C'gsl_vector_char
} deriving (Eq,Show)
p'gsl_vector_char_const_view'vector p = plusPtr p 0
p'gsl_vector_char_const_view'vector :: Ptr (C'gsl_vector_char_const_view) -> Ptr (C'gsl_vector_char)
instance Storable C'gsl_vector_char_const_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_char_const_view v0
  poke p (C'gsl_vector_char_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 338 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 340 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 341 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_char_view = C'gsl_vector_char_view{
  c'gsl_vector_char_view'vector :: C'gsl_vector_char
} deriving (Eq,Show)
p'gsl_vector_char_view'vector p = plusPtr p 0
p'gsl_vector_char_view'vector :: Ptr (C'gsl_vector_char_view) -> Ptr (C'gsl_vector_char)
instance Storable C'gsl_vector_char_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_char_view v0
  poke p (C'gsl_vector_char_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 342 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 344 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 345 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 346 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 347 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 348 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 349 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_complex = C'gsl_vector_complex{
  c'gsl_vector_complex'size :: CSize,
  c'gsl_vector_complex'stride :: CSize,
  c'gsl_vector_complex'data :: Ptr CDouble,
  c'gsl_vector_complex'block :: Ptr C'gsl_block_complex,
  c'gsl_vector_complex'owner :: CInt
} deriving (Eq,Show)
p'gsl_vector_complex'size p = plusPtr p 0
p'gsl_vector_complex'size :: Ptr (C'gsl_vector_complex) -> Ptr (CSize)
p'gsl_vector_complex'stride p = plusPtr p 4
p'gsl_vector_complex'stride :: Ptr (C'gsl_vector_complex) -> Ptr (CSize)
p'gsl_vector_complex'data p = plusPtr p 8
p'gsl_vector_complex'data :: Ptr (C'gsl_vector_complex) -> Ptr (Ptr CDouble)
p'gsl_vector_complex'block p = plusPtr p 12
p'gsl_vector_complex'block :: Ptr (C'gsl_vector_complex) -> Ptr (Ptr C'gsl_block_complex)
p'gsl_vector_complex'owner p = plusPtr p 16
p'gsl_vector_complex'owner :: Ptr (C'gsl_vector_complex) -> Ptr (CInt)
instance Storable C'gsl_vector_complex where
  sizeOf _ = 20
  alignment _ = 4
  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_vector_complex v0 v1 v2 v3 v4
  poke p (C'gsl_vector_complex 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 ()

{-# LINE 350 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 352 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 353 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_complex_const_view = C'gsl_vector_complex_const_view{
  c'gsl_vector_complex_const_view'vector :: C'gsl_vector_complex
} deriving (Eq,Show)
p'gsl_vector_complex_const_view'vector p = plusPtr p 0
p'gsl_vector_complex_const_view'vector :: Ptr (C'gsl_vector_complex_const_view) -> Ptr (C'gsl_vector_complex)
instance Storable C'gsl_vector_complex_const_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_complex_const_view v0
  poke p (C'gsl_vector_complex_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 354 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 356 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 357 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 358 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 359 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 360 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 361 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_complex_float = C'gsl_vector_complex_float{
  c'gsl_vector_complex_float'size :: CSize,
  c'gsl_vector_complex_float'stride :: CSize,
  c'gsl_vector_complex_float'data :: Ptr CFloat,
  c'gsl_vector_complex_float'block :: Ptr C'gsl_block_complex_float,
  c'gsl_vector_complex_float'owner :: CInt
} deriving (Eq,Show)
p'gsl_vector_complex_float'size p = plusPtr p 0
p'gsl_vector_complex_float'size :: Ptr (C'gsl_vector_complex_float) -> Ptr (CSize)
p'gsl_vector_complex_float'stride p = plusPtr p 4
p'gsl_vector_complex_float'stride :: Ptr (C'gsl_vector_complex_float) -> Ptr (CSize)
p'gsl_vector_complex_float'data p = plusPtr p 8
p'gsl_vector_complex_float'data :: Ptr (C'gsl_vector_complex_float) -> Ptr (Ptr CFloat)
p'gsl_vector_complex_float'block p = plusPtr p 12
p'gsl_vector_complex_float'block :: Ptr (C'gsl_vector_complex_float) -> Ptr (Ptr C'gsl_block_complex_float)
p'gsl_vector_complex_float'owner p = plusPtr p 16
p'gsl_vector_complex_float'owner :: Ptr (C'gsl_vector_complex_float) -> Ptr (CInt)
instance Storable C'gsl_vector_complex_float where
  sizeOf _ = 20
  alignment _ = 4
  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_vector_complex_float v0 v1 v2 v3 v4
  poke p (C'gsl_vector_complex_float 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 ()

{-# LINE 362 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 364 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 365 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_complex_float_const_view = C'gsl_vector_complex_float_const_view{
  c'gsl_vector_complex_float_const_view'vector :: C'gsl_vector_complex_float
} deriving (Eq,Show)
p'gsl_vector_complex_float_const_view'vector p = plusPtr p 0
p'gsl_vector_complex_float_const_view'vector :: Ptr (C'gsl_vector_complex_float_const_view) -> Ptr (C'gsl_vector_complex_float)
instance Storable C'gsl_vector_complex_float_const_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_complex_float_const_view v0
  poke p (C'gsl_vector_complex_float_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 366 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 368 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 369 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_complex_float_view = C'gsl_vector_complex_float_view{
  c'gsl_vector_complex_float_view'vector :: C'gsl_vector_complex_float
} deriving (Eq,Show)
p'gsl_vector_complex_float_view'vector p = plusPtr p 0
p'gsl_vector_complex_float_view'vector :: Ptr (C'gsl_vector_complex_float_view) -> Ptr (C'gsl_vector_complex_float)
instance Storable C'gsl_vector_complex_float_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_complex_float_view v0
  poke p (C'gsl_vector_complex_float_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 370 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

-- #starttype gsl_vector_complex_long_double
-- #field size , CSize
-- #field stride , CSize
-- #field data , Ptr CLDouble
-- #field block , Ptr <gsl_block_complex_long_double>
-- #field owner , CInt
-- #stoptype

-- #starttype gsl_vector_complex_long_double_const_view
-- #field vector , <gsl_vector_complex_long_double>
-- #stoptype

-- #starttype gsl_vector_complex_long_double_view
-- #field vector , <gsl_vector_complex_long_double>
-- #stoptype


{-# LINE 388 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 389 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_complex_view = C'gsl_vector_complex_view{
  c'gsl_vector_complex_view'vector :: C'gsl_vector_complex
} deriving (Eq,Show)
p'gsl_vector_complex_view'vector p = plusPtr p 0
p'gsl_vector_complex_view'vector :: Ptr (C'gsl_vector_complex_view) -> Ptr (C'gsl_vector_complex)
instance Storable C'gsl_vector_complex_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_complex_view v0
  poke p (C'gsl_vector_complex_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 390 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 392 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 393 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_const_view = C'gsl_vector_const_view{
  c'gsl_vector_const_view'vector :: C'gsl_vector
} deriving (Eq,Show)
p'gsl_vector_const_view'vector p = plusPtr p 0
p'gsl_vector_const_view'vector :: Ptr (C'gsl_vector_const_view) -> Ptr (C'gsl_vector)
instance Storable C'gsl_vector_const_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_const_view v0
  poke p (C'gsl_vector_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 394 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 396 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 397 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 398 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 399 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 400 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 401 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_float = C'gsl_vector_float{
  c'gsl_vector_float'size :: CSize,
  c'gsl_vector_float'stride :: CSize,
  c'gsl_vector_float'data :: Ptr CFloat,
  c'gsl_vector_float'block :: Ptr C'gsl_block_float,
  c'gsl_vector_float'owner :: CInt
} deriving (Eq,Show)
p'gsl_vector_float'size p = plusPtr p 0
p'gsl_vector_float'size :: Ptr (C'gsl_vector_float) -> Ptr (CSize)
p'gsl_vector_float'stride p = plusPtr p 4
p'gsl_vector_float'stride :: Ptr (C'gsl_vector_float) -> Ptr (CSize)
p'gsl_vector_float'data p = plusPtr p 8
p'gsl_vector_float'data :: Ptr (C'gsl_vector_float) -> Ptr (Ptr CFloat)
p'gsl_vector_float'block p = plusPtr p 12
p'gsl_vector_float'block :: Ptr (C'gsl_vector_float) -> Ptr (Ptr C'gsl_block_float)
p'gsl_vector_float'owner p = plusPtr p 16
p'gsl_vector_float'owner :: Ptr (C'gsl_vector_float) -> Ptr (CInt)
instance Storable C'gsl_vector_float where
  sizeOf _ = 20
  alignment _ = 4
  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_vector_float v0 v1 v2 v3 v4
  poke p (C'gsl_vector_float 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 ()

{-# LINE 402 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 404 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 405 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_float_const_view = C'gsl_vector_float_const_view{
  c'gsl_vector_float_const_view'vector :: C'gsl_vector_float
} deriving (Eq,Show)
p'gsl_vector_float_const_view'vector p = plusPtr p 0
p'gsl_vector_float_const_view'vector :: Ptr (C'gsl_vector_float_const_view) -> Ptr (C'gsl_vector_float)
instance Storable C'gsl_vector_float_const_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_float_const_view v0
  poke p (C'gsl_vector_float_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 406 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 408 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 409 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_float_view = C'gsl_vector_float_view{
  c'gsl_vector_float_view'vector :: C'gsl_vector_float
} deriving (Eq,Show)
p'gsl_vector_float_view'vector p = plusPtr p 0
p'gsl_vector_float_view'vector :: Ptr (C'gsl_vector_float_view) -> Ptr (C'gsl_vector_float)
instance Storable C'gsl_vector_float_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_float_view v0
  poke p (C'gsl_vector_float_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 410 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 412 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 413 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 414 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 415 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 416 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 417 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_int = C'gsl_vector_int{
  c'gsl_vector_int'size :: CSize,
  c'gsl_vector_int'stride :: CSize,
  c'gsl_vector_int'data :: Ptr CInt,
  c'gsl_vector_int'block :: Ptr C'gsl_block_int,
  c'gsl_vector_int'owner :: CInt
} deriving (Eq,Show)
p'gsl_vector_int'size p = plusPtr p 0
p'gsl_vector_int'size :: Ptr (C'gsl_vector_int) -> Ptr (CSize)
p'gsl_vector_int'stride p = plusPtr p 4
p'gsl_vector_int'stride :: Ptr (C'gsl_vector_int) -> Ptr (CSize)
p'gsl_vector_int'data p = plusPtr p 8
p'gsl_vector_int'data :: Ptr (C'gsl_vector_int) -> Ptr (Ptr CInt)
p'gsl_vector_int'block p = plusPtr p 12
p'gsl_vector_int'block :: Ptr (C'gsl_vector_int) -> Ptr (Ptr C'gsl_block_int)
p'gsl_vector_int'owner p = plusPtr p 16
p'gsl_vector_int'owner :: Ptr (C'gsl_vector_int) -> Ptr (CInt)
instance Storable C'gsl_vector_int where
  sizeOf _ = 20
  alignment _ = 4
  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_vector_int v0 v1 v2 v3 v4
  poke p (C'gsl_vector_int 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 ()

{-# LINE 418 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 420 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 421 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_int_const_view = C'gsl_vector_int_const_view{
  c'gsl_vector_int_const_view'vector :: C'gsl_vector_int
} deriving (Eq,Show)
p'gsl_vector_int_const_view'vector p = plusPtr p 0
p'gsl_vector_int_const_view'vector :: Ptr (C'gsl_vector_int_const_view) -> Ptr (C'gsl_vector_int)
instance Storable C'gsl_vector_int_const_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_int_const_view v0
  poke p (C'gsl_vector_int_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 422 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 424 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 425 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_int_view = C'gsl_vector_int_view{
  c'gsl_vector_int_view'vector :: C'gsl_vector_int
} deriving (Eq,Show)
p'gsl_vector_int_view'vector p = plusPtr p 0
p'gsl_vector_int_view'vector :: Ptr (C'gsl_vector_int_view) -> Ptr (C'gsl_vector_int)
instance Storable C'gsl_vector_int_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_int_view v0
  poke p (C'gsl_vector_int_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 426 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 428 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 429 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 430 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 431 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 432 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 433 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_long = C'gsl_vector_long{
  c'gsl_vector_long'size :: CSize,
  c'gsl_vector_long'stride :: CSize,
  c'gsl_vector_long'data :: Ptr CLong,
  c'gsl_vector_long'block :: Ptr C'gsl_block_long,
  c'gsl_vector_long'owner :: CInt
} deriving (Eq,Show)
p'gsl_vector_long'size p = plusPtr p 0
p'gsl_vector_long'size :: Ptr (C'gsl_vector_long) -> Ptr (CSize)
p'gsl_vector_long'stride p = plusPtr p 4
p'gsl_vector_long'stride :: Ptr (C'gsl_vector_long) -> Ptr (CSize)
p'gsl_vector_long'data p = plusPtr p 8
p'gsl_vector_long'data :: Ptr (C'gsl_vector_long) -> Ptr (Ptr CLong)
p'gsl_vector_long'block p = plusPtr p 12
p'gsl_vector_long'block :: Ptr (C'gsl_vector_long) -> Ptr (Ptr C'gsl_block_long)
p'gsl_vector_long'owner p = plusPtr p 16
p'gsl_vector_long'owner :: Ptr (C'gsl_vector_long) -> Ptr (CInt)
instance Storable C'gsl_vector_long where
  sizeOf _ = 20
  alignment _ = 4
  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_vector_long v0 v1 v2 v3 v4
  poke p (C'gsl_vector_long 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 ()

{-# LINE 434 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 436 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 437 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_long_const_view = C'gsl_vector_long_const_view{
  c'gsl_vector_long_const_view'vector :: C'gsl_vector_long
} deriving (Eq,Show)
p'gsl_vector_long_const_view'vector p = plusPtr p 0
p'gsl_vector_long_const_view'vector :: Ptr (C'gsl_vector_long_const_view) -> Ptr (C'gsl_vector_long)
instance Storable C'gsl_vector_long_const_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_long_const_view v0
  poke p (C'gsl_vector_long_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 438 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

-- #starttype gsl_vector_long_double
-- #field size , CSize
-- #field stride , CSize
-- #field data , Ptr CLDouble
-- #field block , Ptr <gsl_block_long_double>
-- #field owner , CInt
-- #stoptype

-- #starttype gsl_vector_long_double_const_view
-- #field vector , <gsl_vector_long_double>
-- #stoptype

-- #starttype gsl_vector_long_double_view
-- #field vector , <gsl_vector_long_double>
-- #stoptype


{-# LINE 456 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 457 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_long_view = C'gsl_vector_long_view{
  c'gsl_vector_long_view'vector :: C'gsl_vector_long
} deriving (Eq,Show)
p'gsl_vector_long_view'vector p = plusPtr p 0
p'gsl_vector_long_view'vector :: Ptr (C'gsl_vector_long_view) -> Ptr (C'gsl_vector_long)
instance Storable C'gsl_vector_long_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_long_view v0
  poke p (C'gsl_vector_long_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 458 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 460 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 461 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 462 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 463 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 464 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 465 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_short = C'gsl_vector_short{
  c'gsl_vector_short'size :: CSize,
  c'gsl_vector_short'stride :: CSize,
  c'gsl_vector_short'data :: Ptr CShort,
  c'gsl_vector_short'block :: Ptr C'gsl_block_short,
  c'gsl_vector_short'owner :: CInt
} deriving (Eq,Show)
p'gsl_vector_short'size p = plusPtr p 0
p'gsl_vector_short'size :: Ptr (C'gsl_vector_short) -> Ptr (CSize)
p'gsl_vector_short'stride p = plusPtr p 4
p'gsl_vector_short'stride :: Ptr (C'gsl_vector_short) -> Ptr (CSize)
p'gsl_vector_short'data p = plusPtr p 8
p'gsl_vector_short'data :: Ptr (C'gsl_vector_short) -> Ptr (Ptr CShort)
p'gsl_vector_short'block p = plusPtr p 12
p'gsl_vector_short'block :: Ptr (C'gsl_vector_short) -> Ptr (Ptr C'gsl_block_short)
p'gsl_vector_short'owner p = plusPtr p 16
p'gsl_vector_short'owner :: Ptr (C'gsl_vector_short) -> Ptr (CInt)
instance Storable C'gsl_vector_short where
  sizeOf _ = 20
  alignment _ = 4
  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_vector_short v0 v1 v2 v3 v4
  poke p (C'gsl_vector_short 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 ()

{-# LINE 466 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 468 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 469 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_short_const_view = C'gsl_vector_short_const_view{
  c'gsl_vector_short_const_view'vector :: C'gsl_vector_short
} deriving (Eq,Show)
p'gsl_vector_short_const_view'vector p = plusPtr p 0
p'gsl_vector_short_const_view'vector :: Ptr (C'gsl_vector_short_const_view) -> Ptr (C'gsl_vector_short)
instance Storable C'gsl_vector_short_const_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_short_const_view v0
  poke p (C'gsl_vector_short_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 470 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 472 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 473 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_short_view = C'gsl_vector_short_view{
  c'gsl_vector_short_view'vector :: C'gsl_vector_short
} deriving (Eq,Show)
p'gsl_vector_short_view'vector p = plusPtr p 0
p'gsl_vector_short_view'vector :: Ptr (C'gsl_vector_short_view) -> Ptr (C'gsl_vector_short)
instance Storable C'gsl_vector_short_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_short_view v0
  poke p (C'gsl_vector_short_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 474 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 476 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 477 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 478 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 479 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 480 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 481 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_uchar = C'gsl_vector_uchar{
  c'gsl_vector_uchar'size :: CSize,
  c'gsl_vector_uchar'stride :: CSize,
  c'gsl_vector_uchar'data :: Ptr CUChar,
  c'gsl_vector_uchar'block :: Ptr C'gsl_block_uchar,
  c'gsl_vector_uchar'owner :: CInt
} deriving (Eq,Show)
p'gsl_vector_uchar'size p = plusPtr p 0
p'gsl_vector_uchar'size :: Ptr (C'gsl_vector_uchar) -> Ptr (CSize)
p'gsl_vector_uchar'stride p = plusPtr p 4
p'gsl_vector_uchar'stride :: Ptr (C'gsl_vector_uchar) -> Ptr (CSize)
p'gsl_vector_uchar'data p = plusPtr p 8
p'gsl_vector_uchar'data :: Ptr (C'gsl_vector_uchar) -> Ptr (Ptr CUChar)
p'gsl_vector_uchar'block p = plusPtr p 12
p'gsl_vector_uchar'block :: Ptr (C'gsl_vector_uchar) -> Ptr (Ptr C'gsl_block_uchar)
p'gsl_vector_uchar'owner p = plusPtr p 16
p'gsl_vector_uchar'owner :: Ptr (C'gsl_vector_uchar) -> Ptr (CInt)
instance Storable C'gsl_vector_uchar where
  sizeOf _ = 20
  alignment _ = 4
  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_vector_uchar v0 v1 v2 v3 v4
  poke p (C'gsl_vector_uchar 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 ()

{-# LINE 482 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 484 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 485 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_uchar_const_view = C'gsl_vector_uchar_const_view{
  c'gsl_vector_uchar_const_view'vector :: C'gsl_vector_uchar
} deriving (Eq,Show)
p'gsl_vector_uchar_const_view'vector p = plusPtr p 0
p'gsl_vector_uchar_const_view'vector :: Ptr (C'gsl_vector_uchar_const_view) -> Ptr (C'gsl_vector_uchar)
instance Storable C'gsl_vector_uchar_const_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_uchar_const_view v0
  poke p (C'gsl_vector_uchar_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 486 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 488 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 489 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_uchar_view = C'gsl_vector_uchar_view{
  c'gsl_vector_uchar_view'vector :: C'gsl_vector_uchar
} deriving (Eq,Show)
p'gsl_vector_uchar_view'vector p = plusPtr p 0
p'gsl_vector_uchar_view'vector :: Ptr (C'gsl_vector_uchar_view) -> Ptr (C'gsl_vector_uchar)
instance Storable C'gsl_vector_uchar_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_uchar_view v0
  poke p (C'gsl_vector_uchar_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 490 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 492 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 493 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 494 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 495 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 496 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 497 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_uint = C'gsl_vector_uint{
  c'gsl_vector_uint'size :: CSize,
  c'gsl_vector_uint'stride :: CSize,
  c'gsl_vector_uint'data :: Ptr CUInt,
  c'gsl_vector_uint'block :: Ptr C'gsl_block_uint,
  c'gsl_vector_uint'owner :: CInt
} deriving (Eq,Show)
p'gsl_vector_uint'size p = plusPtr p 0
p'gsl_vector_uint'size :: Ptr (C'gsl_vector_uint) -> Ptr (CSize)
p'gsl_vector_uint'stride p = plusPtr p 4
p'gsl_vector_uint'stride :: Ptr (C'gsl_vector_uint) -> Ptr (CSize)
p'gsl_vector_uint'data p = plusPtr p 8
p'gsl_vector_uint'data :: Ptr (C'gsl_vector_uint) -> Ptr (Ptr CUInt)
p'gsl_vector_uint'block p = plusPtr p 12
p'gsl_vector_uint'block :: Ptr (C'gsl_vector_uint) -> Ptr (Ptr C'gsl_block_uint)
p'gsl_vector_uint'owner p = plusPtr p 16
p'gsl_vector_uint'owner :: Ptr (C'gsl_vector_uint) -> Ptr (CInt)
instance Storable C'gsl_vector_uint where
  sizeOf _ = 20
  alignment _ = 4
  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_vector_uint v0 v1 v2 v3 v4
  poke p (C'gsl_vector_uint 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 ()

{-# LINE 498 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 500 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 501 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_uint_const_view = C'gsl_vector_uint_const_view{
  c'gsl_vector_uint_const_view'vector :: C'gsl_vector_uint
} deriving (Eq,Show)
p'gsl_vector_uint_const_view'vector p = plusPtr p 0
p'gsl_vector_uint_const_view'vector :: Ptr (C'gsl_vector_uint_const_view) -> Ptr (C'gsl_vector_uint)
instance Storable C'gsl_vector_uint_const_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_uint_const_view v0
  poke p (C'gsl_vector_uint_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 502 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 504 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 505 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_uint_view = C'gsl_vector_uint_view{
  c'gsl_vector_uint_view'vector :: C'gsl_vector_uint
} deriving (Eq,Show)
p'gsl_vector_uint_view'vector p = plusPtr p 0
p'gsl_vector_uint_view'vector :: Ptr (C'gsl_vector_uint_view) -> Ptr (C'gsl_vector_uint)
instance Storable C'gsl_vector_uint_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_uint_view v0
  poke p (C'gsl_vector_uint_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 506 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 508 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 509 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 510 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 511 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 512 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 513 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_ulong = C'gsl_vector_ulong{
  c'gsl_vector_ulong'size :: CSize,
  c'gsl_vector_ulong'stride :: CSize,
  c'gsl_vector_ulong'data :: Ptr CULong,
  c'gsl_vector_ulong'block :: Ptr C'gsl_block_ulong,
  c'gsl_vector_ulong'owner :: CInt
} deriving (Eq,Show)
p'gsl_vector_ulong'size p = plusPtr p 0
p'gsl_vector_ulong'size :: Ptr (C'gsl_vector_ulong) -> Ptr (CSize)
p'gsl_vector_ulong'stride p = plusPtr p 4
p'gsl_vector_ulong'stride :: Ptr (C'gsl_vector_ulong) -> Ptr (CSize)
p'gsl_vector_ulong'data p = plusPtr p 8
p'gsl_vector_ulong'data :: Ptr (C'gsl_vector_ulong) -> Ptr (Ptr CULong)
p'gsl_vector_ulong'block p = plusPtr p 12
p'gsl_vector_ulong'block :: Ptr (C'gsl_vector_ulong) -> Ptr (Ptr C'gsl_block_ulong)
p'gsl_vector_ulong'owner p = plusPtr p 16
p'gsl_vector_ulong'owner :: Ptr (C'gsl_vector_ulong) -> Ptr (CInt)
instance Storable C'gsl_vector_ulong where
  sizeOf _ = 20
  alignment _ = 4
  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_vector_ulong v0 v1 v2 v3 v4
  poke p (C'gsl_vector_ulong 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 ()

{-# LINE 514 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 516 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 517 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_ulong_const_view = C'gsl_vector_ulong_const_view{
  c'gsl_vector_ulong_const_view'vector :: C'gsl_vector_ulong
} deriving (Eq,Show)
p'gsl_vector_ulong_const_view'vector p = plusPtr p 0
p'gsl_vector_ulong_const_view'vector :: Ptr (C'gsl_vector_ulong_const_view) -> Ptr (C'gsl_vector_ulong)
instance Storable C'gsl_vector_ulong_const_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_ulong_const_view v0
  poke p (C'gsl_vector_ulong_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 518 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 520 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 521 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_ulong_view = C'gsl_vector_ulong_view{
  c'gsl_vector_ulong_view'vector :: C'gsl_vector_ulong
} deriving (Eq,Show)
p'gsl_vector_ulong_view'vector p = plusPtr p 0
p'gsl_vector_ulong_view'vector :: Ptr (C'gsl_vector_ulong_view) -> Ptr (C'gsl_vector_ulong)
instance Storable C'gsl_vector_ulong_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_ulong_view v0
  poke p (C'gsl_vector_ulong_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 522 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 524 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 525 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 526 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 527 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 528 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 529 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_ushort = C'gsl_vector_ushort{
  c'gsl_vector_ushort'size :: CSize,
  c'gsl_vector_ushort'stride :: CSize,
  c'gsl_vector_ushort'data :: Ptr CUShort,
  c'gsl_vector_ushort'block :: Ptr C'gsl_block_ushort,
  c'gsl_vector_ushort'owner :: CInt
} deriving (Eq,Show)
p'gsl_vector_ushort'size p = plusPtr p 0
p'gsl_vector_ushort'size :: Ptr (C'gsl_vector_ushort) -> Ptr (CSize)
p'gsl_vector_ushort'stride p = plusPtr p 4
p'gsl_vector_ushort'stride :: Ptr (C'gsl_vector_ushort) -> Ptr (CSize)
p'gsl_vector_ushort'data p = plusPtr p 8
p'gsl_vector_ushort'data :: Ptr (C'gsl_vector_ushort) -> Ptr (Ptr CUShort)
p'gsl_vector_ushort'block p = plusPtr p 12
p'gsl_vector_ushort'block :: Ptr (C'gsl_vector_ushort) -> Ptr (Ptr C'gsl_block_ushort)
p'gsl_vector_ushort'owner p = plusPtr p 16
p'gsl_vector_ushort'owner :: Ptr (C'gsl_vector_ushort) -> Ptr (CInt)
instance Storable C'gsl_vector_ushort where
  sizeOf _ = 20
  alignment _ = 4
  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_vector_ushort v0 v1 v2 v3 v4
  poke p (C'gsl_vector_ushort 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 ()

{-# LINE 530 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 532 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 533 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_ushort_const_view = C'gsl_vector_ushort_const_view{
  c'gsl_vector_ushort_const_view'vector :: C'gsl_vector_ushort
} deriving (Eq,Show)
p'gsl_vector_ushort_const_view'vector p = plusPtr p 0
p'gsl_vector_ushort_const_view'vector :: Ptr (C'gsl_vector_ushort_const_view) -> Ptr (C'gsl_vector_ushort)
instance Storable C'gsl_vector_ushort_const_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_ushort_const_view v0
  poke p (C'gsl_vector_ushort_const_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 534 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 536 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 537 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_ushort_view = C'gsl_vector_ushort_view{
  c'gsl_vector_ushort_view'vector :: C'gsl_vector_ushort
} deriving (Eq,Show)
p'gsl_vector_ushort_view'vector p = plusPtr p 0
p'gsl_vector_ushort_view'vector :: Ptr (C'gsl_vector_ushort_view) -> Ptr (C'gsl_vector_ushort)
instance Storable C'gsl_vector_ushort_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_ushort_view v0
  poke p (C'gsl_vector_ushort_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 538 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}


{-# LINE 540 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}

{-# LINE 541 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}
data C'gsl_vector_view = C'gsl_vector_view{
  c'gsl_vector_view'vector :: C'gsl_vector
} deriving (Eq,Show)
p'gsl_vector_view'vector p = plusPtr p 0
p'gsl_vector_view'vector :: Ptr (C'gsl_vector_view) -> Ptr (C'gsl_vector)
instance Storable C'gsl_vector_view where
  sizeOf _ = 20
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'gsl_vector_view v0
  poke p (C'gsl_vector_view v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 542 "src/Bindings/Gsl/VectorsAndMatrices/DataTypes.hsc" #-}