{-# INCLUDE <bindings.dsl.h> #-}
{-# INCLUDE <gsl/gsl_blas.h> #-}
{-# LINE 1 "src/Bindings/Gsl/BlasSupport.hsc" #-}

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

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

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

module Bindings.Gsl.BlasSupport where
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word

{-# LINE 8 "src/Bindings/Gsl/BlasSupport.hsc" #-}
import Bindings.Gsl.ComplexNumbers
import Bindings.Gsl.VectorsAndMatrices

type C'CBLAS_INDEX_t = CUInt

{-# LINE 12 "src/Bindings/Gsl/BlasSupport.hsc" #-}
type C'CBLAS_ORDER_t = CUInt

{-# LINE 13 "src/Bindings/Gsl/BlasSupport.hsc" #-}
type C'CBLAS_TRANSPOSE_t = CUInt

{-# LINE 14 "src/Bindings/Gsl/BlasSupport.hsc" #-}
type C'CBLAS_UPLO_t = CUInt

{-# LINE 15 "src/Bindings/Gsl/BlasSupport.hsc" #-}
type C'CBLAS_DIAG_t = CUInt

{-# LINE 16 "src/Bindings/Gsl/BlasSupport.hsc" #-}
type C'CBLAS_SIDE_t = CUInt

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

foreign import ccall "gsl_blas_sdsdot" c'gsl_blas_sdsdot
  :: CFloat -> Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> Ptr CFloat -> IO CInt
foreign import ccall "&gsl_blas_sdsdot" p'gsl_blas_sdsdot
  :: FunPtr (CFloat -> Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> Ptr CFloat -> IO CInt)

{-# LINE 19 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dsdot" c'gsl_blas_dsdot
  :: Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> Ptr CDouble -> IO CInt
foreign import ccall "&gsl_blas_dsdot" p'gsl_blas_dsdot
  :: FunPtr (Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> Ptr CDouble -> IO CInt)

{-# LINE 20 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_sdot" c'gsl_blas_sdot
  :: Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> Ptr CFloat -> IO CInt
foreign import ccall "&gsl_blas_sdot" p'gsl_blas_sdot
  :: FunPtr (Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> Ptr CFloat -> IO CInt)

{-# LINE 21 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_ddot" c'gsl_blas_ddot
  :: Ptr C'gsl_vector -> Ptr C'gsl_vector -> Ptr CDouble -> IO CInt
foreign import ccall "&gsl_blas_ddot" p'gsl_blas_ddot
  :: FunPtr (Ptr C'gsl_vector -> Ptr C'gsl_vector -> Ptr CDouble -> IO CInt)

{-# LINE 22 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_cdotu" c'gsl_blas_cdotu
  :: Ptr C'gsl_vector_complex_float -> Ptr C'gsl_vector_complex_float -> Ptr C'gsl_complex_float -> IO CInt
foreign import ccall "&gsl_blas_cdotu" p'gsl_blas_cdotu
  :: FunPtr (Ptr C'gsl_vector_complex_float -> Ptr C'gsl_vector_complex_float -> Ptr C'gsl_complex_float -> IO CInt)

{-# LINE 23 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_cdotc" c'gsl_blas_cdotc
  :: Ptr C'gsl_vector_complex_float -> Ptr C'gsl_vector_complex_float -> Ptr C'gsl_complex_float -> IO CInt
foreign import ccall "&gsl_blas_cdotc" p'gsl_blas_cdotc
  :: FunPtr (Ptr C'gsl_vector_complex_float -> Ptr C'gsl_vector_complex_float -> Ptr C'gsl_complex_float -> IO CInt)

{-# LINE 24 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_zdotu" c'gsl_blas_zdotu
  :: Ptr C'gsl_vector_complex -> Ptr C'gsl_vector_complex -> Ptr C'gsl_complex -> IO CInt
foreign import ccall "&gsl_blas_zdotu" p'gsl_blas_zdotu
  :: FunPtr (Ptr C'gsl_vector_complex -> Ptr C'gsl_vector_complex -> Ptr C'gsl_complex -> IO CInt)

{-# LINE 25 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_zdotc" c'gsl_blas_zdotc
  :: Ptr C'gsl_vector_complex -> Ptr C'gsl_vector_complex -> Ptr C'gsl_complex -> IO CInt
foreign import ccall "&gsl_blas_zdotc" p'gsl_blas_zdotc
  :: FunPtr (Ptr C'gsl_vector_complex -> Ptr C'gsl_vector_complex -> Ptr C'gsl_complex -> IO CInt)

{-# LINE 26 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_snrm2" c'gsl_blas_snrm2
  :: Ptr C'gsl_vector_float -> IO CFloat
foreign import ccall "&gsl_blas_snrm2" p'gsl_blas_snrm2
  :: FunPtr (Ptr C'gsl_vector_float -> IO CFloat)

{-# LINE 27 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_sasum" c'gsl_blas_sasum
  :: Ptr C'gsl_vector_float -> IO CFloat
foreign import ccall "&gsl_blas_sasum" p'gsl_blas_sasum
  :: FunPtr (Ptr C'gsl_vector_float -> IO CFloat)

{-# LINE 28 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dnrm2" c'gsl_blas_dnrm2
  :: Ptr C'gsl_vector -> IO CDouble
foreign import ccall "&gsl_blas_dnrm2" p'gsl_blas_dnrm2
  :: FunPtr (Ptr C'gsl_vector -> IO CDouble)

{-# LINE 29 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dasum" c'gsl_blas_dasum
  :: Ptr C'gsl_vector -> IO CDouble
foreign import ccall "&gsl_blas_dasum" p'gsl_blas_dasum
  :: FunPtr (Ptr C'gsl_vector -> IO CDouble)

{-# LINE 30 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_scnrm2" c'gsl_blas_scnrm2
  :: Ptr C'gsl_vector_complex_float -> IO CFloat
foreign import ccall "&gsl_blas_scnrm2" p'gsl_blas_scnrm2
  :: FunPtr (Ptr C'gsl_vector_complex_float -> IO CFloat)

{-# LINE 31 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_scasum" c'gsl_blas_scasum
  :: Ptr C'gsl_vector_complex_float -> IO CFloat
foreign import ccall "&gsl_blas_scasum" p'gsl_blas_scasum
  :: FunPtr (Ptr C'gsl_vector_complex_float -> IO CFloat)

{-# LINE 32 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dznrm2" c'gsl_blas_dznrm2
  :: Ptr C'gsl_vector_complex -> IO CDouble
foreign import ccall "&gsl_blas_dznrm2" p'gsl_blas_dznrm2
  :: FunPtr (Ptr C'gsl_vector_complex -> IO CDouble)

{-# LINE 33 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dzasum" c'gsl_blas_dzasum
  :: Ptr C'gsl_vector_complex -> IO CDouble
foreign import ccall "&gsl_blas_dzasum" p'gsl_blas_dzasum
  :: FunPtr (Ptr C'gsl_vector_complex -> IO CDouble)

{-# LINE 34 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_isamax" c'gsl_blas_isamax
  :: Ptr C'gsl_vector_float -> IO C'CBLAS_INDEX_t
foreign import ccall "&gsl_blas_isamax" p'gsl_blas_isamax
  :: FunPtr (Ptr C'gsl_vector_float -> IO C'CBLAS_INDEX_t)

{-# LINE 35 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_idamax" c'gsl_blas_idamax
  :: Ptr C'gsl_vector -> IO C'CBLAS_INDEX_t
foreign import ccall "&gsl_blas_idamax" p'gsl_blas_idamax
  :: FunPtr (Ptr C'gsl_vector -> IO C'CBLAS_INDEX_t)

{-# LINE 36 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_icamax" c'gsl_blas_icamax
  :: Ptr C'gsl_vector_complex_float -> IO C'CBLAS_INDEX_t
foreign import ccall "&gsl_blas_icamax" p'gsl_blas_icamax
  :: FunPtr (Ptr C'gsl_vector_complex_float -> IO C'CBLAS_INDEX_t)

{-# LINE 37 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_izamax" c'gsl_blas_izamax
  :: Ptr C'gsl_vector_complex -> IO C'CBLAS_INDEX_t
foreign import ccall "&gsl_blas_izamax" p'gsl_blas_izamax
  :: FunPtr (Ptr C'gsl_vector_complex -> IO C'CBLAS_INDEX_t)

{-# LINE 38 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_sswap" c'gsl_blas_sswap
  :: Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> IO CInt
foreign import ccall "&gsl_blas_sswap" p'gsl_blas_sswap
  :: FunPtr (Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> IO CInt)

{-# LINE 39 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_scopy" c'gsl_blas_scopy
  :: Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> IO CInt
foreign import ccall "&gsl_blas_scopy" p'gsl_blas_scopy
  :: FunPtr (Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> IO CInt)

{-# LINE 40 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_saxpy" c'gsl_blas_saxpy
  :: CFloat -> Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> IO CInt
foreign import ccall "&gsl_blas_saxpy" p'gsl_blas_saxpy
  :: FunPtr (CFloat -> Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> IO CInt)

{-# LINE 41 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dswap" c'gsl_blas_dswap
  :: Ptr C'gsl_vector -> Ptr C'gsl_vector -> IO CInt
foreign import ccall "&gsl_blas_dswap" p'gsl_blas_dswap
  :: FunPtr (Ptr C'gsl_vector -> Ptr C'gsl_vector -> IO CInt)

{-# LINE 42 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dcopy" c'gsl_blas_dcopy
  :: Ptr C'gsl_vector -> Ptr C'gsl_vector -> IO CInt
foreign import ccall "&gsl_blas_dcopy" p'gsl_blas_dcopy
  :: FunPtr (Ptr C'gsl_vector -> Ptr C'gsl_vector -> IO CInt)

{-# LINE 43 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_daxpy" c'gsl_blas_daxpy
  :: CDouble -> Ptr C'gsl_vector -> Ptr C'gsl_vector -> IO CInt
foreign import ccall "&gsl_blas_daxpy" p'gsl_blas_daxpy
  :: FunPtr (CDouble -> Ptr C'gsl_vector -> Ptr C'gsl_vector -> IO CInt)

{-# LINE 44 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_cswap" c'gsl_blas_cswap
  :: Ptr C'gsl_vector_complex_float -> Ptr C'gsl_vector_complex_float -> IO CInt
foreign import ccall "&gsl_blas_cswap" p'gsl_blas_cswap
  :: FunPtr (Ptr C'gsl_vector_complex_float -> Ptr C'gsl_vector_complex_float -> IO CInt)

{-# LINE 45 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_ccopy" c'gsl_blas_ccopy
  :: Ptr C'gsl_vector_complex_float -> Ptr C'gsl_vector_complex_float -> IO CInt
foreign import ccall "&gsl_blas_ccopy" p'gsl_blas_ccopy
  :: FunPtr (Ptr C'gsl_vector_complex_float -> Ptr C'gsl_vector_complex_float -> IO CInt)

{-# LINE 46 "src/Bindings/Gsl/BlasSupport.hsc" #-}
-- ccall gsl_blas_caxpy , <gsl_complex_float> -> Ptr <gsl_vector_complex_float> -> Ptr <gsl_vector_complex_float> -> IO CInt
foreign import ccall "gsl_blas_zswap" c'gsl_blas_zswap
  :: Ptr C'gsl_vector_complex -> Ptr C'gsl_vector_complex -> IO CInt
foreign import ccall "&gsl_blas_zswap" p'gsl_blas_zswap
  :: FunPtr (Ptr C'gsl_vector_complex -> Ptr C'gsl_vector_complex -> IO CInt)

{-# LINE 48 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_zcopy" c'gsl_blas_zcopy
  :: Ptr C'gsl_vector_complex -> Ptr C'gsl_vector_complex -> IO CInt
foreign import ccall "&gsl_blas_zcopy" p'gsl_blas_zcopy
  :: FunPtr (Ptr C'gsl_vector_complex -> Ptr C'gsl_vector_complex -> IO CInt)

{-# LINE 49 "src/Bindings/Gsl/BlasSupport.hsc" #-}
-- ccall gsl_blas_zaxpy , <gsl_complex> -> Ptr <gsl_vector_complex> -> Ptr <gsl_vector_complex> -> IO CInt
foreign import ccall "gsl_blas_srotg" c'gsl_blas_srotg
  :: Ptr CFloat -> Ptr CFloat -> Ptr CFloat -> Ptr CFloat -> IO CInt
foreign import ccall "&gsl_blas_srotg" p'gsl_blas_srotg
  :: FunPtr (Ptr CFloat -> Ptr CFloat -> Ptr CFloat -> Ptr CFloat -> IO CInt)

{-# LINE 51 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_srotmg" c'gsl_blas_srotmg
  :: Ptr CFloat -> Ptr CFloat -> Ptr CFloat -> CFloat -> Ptr CFloat -> IO CInt
foreign import ccall "&gsl_blas_srotmg" p'gsl_blas_srotmg
  :: FunPtr (Ptr CFloat -> Ptr CFloat -> Ptr CFloat -> CFloat -> Ptr CFloat -> IO CInt)

{-# LINE 52 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_srot" c'gsl_blas_srot
  :: Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> CFloat -> CFloat -> IO CInt
foreign import ccall "&gsl_blas_srot" p'gsl_blas_srot
  :: FunPtr (Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> CFloat -> CFloat -> IO CInt)

{-# LINE 53 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_srotm" c'gsl_blas_srotm
  :: Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> Ptr CFloat -> IO CInt
foreign import ccall "&gsl_blas_srotm" p'gsl_blas_srotm
  :: FunPtr (Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> Ptr CFloat -> IO CInt)

{-# LINE 54 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_drotg" c'gsl_blas_drotg
  :: Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> IO CInt
foreign import ccall "&gsl_blas_drotg" p'gsl_blas_drotg
  :: FunPtr (Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> IO CInt)

{-# LINE 55 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_drotmg" c'gsl_blas_drotmg
  :: Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> CDouble -> Ptr CDouble -> IO CInt
foreign import ccall "&gsl_blas_drotmg" p'gsl_blas_drotmg
  :: FunPtr (Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> CDouble -> Ptr CDouble -> IO CInt)

{-# LINE 56 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_drot" c'gsl_blas_drot
  :: Ptr C'gsl_vector -> Ptr C'gsl_vector -> CDouble -> CDouble -> IO CInt
foreign import ccall "&gsl_blas_drot" p'gsl_blas_drot
  :: FunPtr (Ptr C'gsl_vector -> Ptr C'gsl_vector -> CDouble -> CDouble -> IO CInt)

{-# LINE 57 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_drotm" c'gsl_blas_drotm
  :: Ptr C'gsl_vector -> Ptr C'gsl_vector -> Ptr CDouble -> IO CInt
foreign import ccall "&gsl_blas_drotm" p'gsl_blas_drotm
  :: FunPtr (Ptr C'gsl_vector -> Ptr C'gsl_vector -> Ptr CDouble -> IO CInt)

{-# LINE 58 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_sscal" c'gsl_blas_sscal
  :: CFloat -> Ptr C'gsl_vector_float -> IO ()
foreign import ccall "&gsl_blas_sscal" p'gsl_blas_sscal
  :: FunPtr (CFloat -> Ptr C'gsl_vector_float -> IO ())

{-# LINE 59 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dscal" c'gsl_blas_dscal
  :: CDouble -> Ptr C'gsl_vector -> IO ()
foreign import ccall "&gsl_blas_dscal" p'gsl_blas_dscal
  :: FunPtr (CDouble -> Ptr C'gsl_vector -> IO ())

{-# LINE 60 "src/Bindings/Gsl/BlasSupport.hsc" #-}
-- ccall gsl_blas_cscal , <gsl_complex_float> -> Ptr <gsl_vector_complex_float> -> IO ()
-- ccall gsl_blas_zscal , <gsl_complex> -> Ptr <gsl_vector_complex> -> IO ()
foreign import ccall "gsl_blas_csscal" c'gsl_blas_csscal
  :: CFloat -> Ptr C'gsl_vector_complex_float -> IO ()
foreign import ccall "&gsl_blas_csscal" p'gsl_blas_csscal
  :: FunPtr (CFloat -> Ptr C'gsl_vector_complex_float -> IO ())

{-# LINE 63 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_zdscal" c'gsl_blas_zdscal
  :: CDouble -> Ptr C'gsl_vector_complex -> IO ()
foreign import ccall "&gsl_blas_zdscal" p'gsl_blas_zdscal
  :: FunPtr (CDouble -> Ptr C'gsl_vector_complex -> IO ())

{-# LINE 64 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_sgemv" c'gsl_blas_sgemv
  :: C'CBLAS_TRANSPOSE_t -> CFloat -> Ptr C'gsl_matrix_float -> Ptr C'gsl_vector_float -> CFloat -> Ptr C'gsl_vector_float -> IO CInt
foreign import ccall "&gsl_blas_sgemv" p'gsl_blas_sgemv
  :: FunPtr (C'CBLAS_TRANSPOSE_t -> CFloat -> Ptr C'gsl_matrix_float -> Ptr C'gsl_vector_float -> CFloat -> Ptr C'gsl_vector_float -> IO CInt)

{-# LINE 65 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_strmv" c'gsl_blas_strmv
  :: C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> Ptr C'gsl_matrix_float -> Ptr C'gsl_vector_float -> IO CInt
foreign import ccall "&gsl_blas_strmv" p'gsl_blas_strmv
  :: FunPtr (C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> Ptr C'gsl_matrix_float -> Ptr C'gsl_vector_float -> IO CInt)

{-# LINE 66 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_strsv" c'gsl_blas_strsv
  :: C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> Ptr C'gsl_matrix_float -> Ptr C'gsl_vector_float -> IO CInt
foreign import ccall "&gsl_blas_strsv" p'gsl_blas_strsv
  :: FunPtr (C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> Ptr C'gsl_matrix_float -> Ptr C'gsl_vector_float -> IO CInt)

{-# LINE 67 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dgemv" c'gsl_blas_dgemv
  :: C'CBLAS_TRANSPOSE_t -> CDouble -> Ptr C'gsl_matrix -> Ptr C'gsl_vector -> CDouble -> Ptr C'gsl_vector -> IO CInt
foreign import ccall "&gsl_blas_dgemv" p'gsl_blas_dgemv
  :: FunPtr (C'CBLAS_TRANSPOSE_t -> CDouble -> Ptr C'gsl_matrix -> Ptr C'gsl_vector -> CDouble -> Ptr C'gsl_vector -> IO CInt)

{-# LINE 68 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dtrmv" c'gsl_blas_dtrmv
  :: C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> Ptr C'gsl_matrix -> Ptr C'gsl_vector -> IO CInt
foreign import ccall "&gsl_blas_dtrmv" p'gsl_blas_dtrmv
  :: FunPtr (C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> Ptr C'gsl_matrix -> Ptr C'gsl_vector -> IO CInt)

{-# LINE 69 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dtrsv" c'gsl_blas_dtrsv
  :: C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> Ptr C'gsl_matrix -> Ptr C'gsl_vector -> IO CInt
foreign import ccall "&gsl_blas_dtrsv" p'gsl_blas_dtrsv
  :: FunPtr (C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> Ptr C'gsl_matrix -> Ptr C'gsl_vector -> IO CInt)

{-# LINE 70 "src/Bindings/Gsl/BlasSupport.hsc" #-}
-- ccall gsl_blas_cgemv , <CBLAS_TRANSPOSE_t> -> <gsl_complex_float> -> Ptr <gsl_matrix_complex_float> -> Ptr <gsl_vector_complex_float> -> <gsl_complex_float> -> Ptr <gsl_vector_complex_float> -> IO CInt
foreign import ccall "gsl_blas_ctrmv" c'gsl_blas_ctrmv
  :: C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> Ptr C'gsl_matrix_complex_float -> Ptr C'gsl_vector_complex_float -> IO CInt
foreign import ccall "&gsl_blas_ctrmv" p'gsl_blas_ctrmv
  :: FunPtr (C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> Ptr C'gsl_matrix_complex_float -> Ptr C'gsl_vector_complex_float -> IO CInt)

{-# LINE 72 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_ctrsv" c'gsl_blas_ctrsv
  :: C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> Ptr C'gsl_matrix_complex_float -> Ptr C'gsl_vector_complex_float -> IO CInt
foreign import ccall "&gsl_blas_ctrsv" p'gsl_blas_ctrsv
  :: FunPtr (C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> Ptr C'gsl_matrix_complex_float -> Ptr C'gsl_vector_complex_float -> IO CInt)

{-# LINE 73 "src/Bindings/Gsl/BlasSupport.hsc" #-}
-- ccall gsl_blas_zgemv , <CBLAS_TRANSPOSE_t> -> <gsl_complex> -> Ptr <gsl_matrix_complex> -> Ptr <gsl_vector_complex> -> <gsl_complex> -> Ptr <gsl_vector_complex> -> IO CInt
foreign import ccall "gsl_blas_ztrmv" c'gsl_blas_ztrmv
  :: C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_vector_complex -> IO CInt
foreign import ccall "&gsl_blas_ztrmv" p'gsl_blas_ztrmv
  :: FunPtr (C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_vector_complex -> IO CInt)

{-# LINE 75 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_ztrsv" c'gsl_blas_ztrsv
  :: C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_vector_complex -> IO CInt
foreign import ccall "&gsl_blas_ztrsv" p'gsl_blas_ztrsv
  :: FunPtr (C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> Ptr C'gsl_matrix_complex -> Ptr C'gsl_vector_complex -> IO CInt)

{-# LINE 76 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_ssymv" c'gsl_blas_ssymv
  :: C'CBLAS_UPLO_t -> CFloat -> Ptr C'gsl_matrix_float -> Ptr C'gsl_vector_float -> CFloat -> Ptr C'gsl_vector_float -> IO CInt
foreign import ccall "&gsl_blas_ssymv" p'gsl_blas_ssymv
  :: FunPtr (C'CBLAS_UPLO_t -> CFloat -> Ptr C'gsl_matrix_float -> Ptr C'gsl_vector_float -> CFloat -> Ptr C'gsl_vector_float -> IO CInt)

{-# LINE 77 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_sger" c'gsl_blas_sger
  :: CFloat -> Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> Ptr C'gsl_matrix_float -> IO CInt
foreign import ccall "&gsl_blas_sger" p'gsl_blas_sger
  :: FunPtr (CFloat -> Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> Ptr C'gsl_matrix_float -> IO CInt)

{-# LINE 78 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_ssyr" c'gsl_blas_ssyr
  :: C'CBLAS_UPLO_t -> CFloat -> Ptr C'gsl_vector_float -> Ptr C'gsl_matrix_float -> IO CInt
foreign import ccall "&gsl_blas_ssyr" p'gsl_blas_ssyr
  :: FunPtr (C'CBLAS_UPLO_t -> CFloat -> Ptr C'gsl_vector_float -> Ptr C'gsl_matrix_float -> IO CInt)

{-# LINE 79 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_ssyr2" c'gsl_blas_ssyr2
  :: C'CBLAS_UPLO_t -> CFloat -> Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> Ptr C'gsl_matrix_float -> IO CInt
foreign import ccall "&gsl_blas_ssyr2" p'gsl_blas_ssyr2
  :: FunPtr (C'CBLAS_UPLO_t -> CFloat -> Ptr C'gsl_vector_float -> Ptr C'gsl_vector_float -> Ptr C'gsl_matrix_float -> IO CInt)

{-# LINE 80 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dsymv" c'gsl_blas_dsymv
  :: C'CBLAS_UPLO_t -> CDouble -> Ptr C'gsl_matrix -> Ptr C'gsl_vector -> CDouble -> Ptr C'gsl_vector -> IO CInt
foreign import ccall "&gsl_blas_dsymv" p'gsl_blas_dsymv
  :: FunPtr (C'CBLAS_UPLO_t -> CDouble -> Ptr C'gsl_matrix -> Ptr C'gsl_vector -> CDouble -> Ptr C'gsl_vector -> IO CInt)

{-# LINE 81 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dger" c'gsl_blas_dger
  :: CDouble -> Ptr C'gsl_vector -> Ptr C'gsl_vector -> Ptr C'gsl_matrix -> IO CInt
foreign import ccall "&gsl_blas_dger" p'gsl_blas_dger
  :: FunPtr (CDouble -> Ptr C'gsl_vector -> Ptr C'gsl_vector -> Ptr C'gsl_matrix -> IO CInt)

{-# LINE 82 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dsyr" c'gsl_blas_dsyr
  :: C'CBLAS_UPLO_t -> CDouble -> Ptr C'gsl_vector -> Ptr C'gsl_matrix -> IO CInt
foreign import ccall "&gsl_blas_dsyr" p'gsl_blas_dsyr
  :: FunPtr (C'CBLAS_UPLO_t -> CDouble -> Ptr C'gsl_vector -> Ptr C'gsl_matrix -> IO CInt)

{-# LINE 83 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dsyr2" c'gsl_blas_dsyr2
  :: C'CBLAS_UPLO_t -> CDouble -> Ptr C'gsl_vector -> Ptr C'gsl_vector -> Ptr C'gsl_matrix -> IO CInt
foreign import ccall "&gsl_blas_dsyr2" p'gsl_blas_dsyr2
  :: FunPtr (C'CBLAS_UPLO_t -> CDouble -> Ptr C'gsl_vector -> Ptr C'gsl_vector -> Ptr C'gsl_matrix -> IO CInt)

{-# LINE 84 "src/Bindings/Gsl/BlasSupport.hsc" #-}
-- ccall gsl_blas_chemv , <CBLAS_UPLO_t> -> <gsl_complex_float> -> Ptr <gsl_matrix_complex_float> -> Ptr <gsl_vector_complex_float> -> <gsl_complex_float> -> Ptr <gsl_vector_complex_float> -> IO CInt
-- ccall gsl_blas_cgeru , <gsl_complex_float> -> Ptr <gsl_vector_complex_float> -> Ptr <gsl_vector_complex_float> -> Ptr <gsl_matrix_complex_float> -> IO CInt
-- ccall gsl_blas_cgerc , <gsl_complex_float> -> Ptr <gsl_vector_complex_float> -> Ptr <gsl_vector_complex_float> -> Ptr <gsl_matrix_complex_float> -> IO CInt
foreign import ccall "gsl_blas_cher" c'gsl_blas_cher
  :: C'CBLAS_UPLO_t -> CFloat -> Ptr C'gsl_vector_complex_float -> Ptr C'gsl_matrix_complex_float -> IO CInt
foreign import ccall "&gsl_blas_cher" p'gsl_blas_cher
  :: FunPtr (C'CBLAS_UPLO_t -> CFloat -> Ptr C'gsl_vector_complex_float -> Ptr C'gsl_matrix_complex_float -> IO CInt)

{-# LINE 88 "src/Bindings/Gsl/BlasSupport.hsc" #-}
-- ccall gsl_blas_cher2 , <CBLAS_UPLO_t> -> <gsl_complex_float> -> Ptr <gsl_vector_complex_float> -> Ptr <gsl_vector_complex_float> -> Ptr <gsl_matrix_complex_float> -> IO CInt
-- ccall gsl_blas_zhemv , <CBLAS_UPLO_t> -> <gsl_complex> -> Ptr <gsl_matrix_complex> -> Ptr <gsl_vector_complex> -> <gsl_complex> -> Ptr <gsl_vector_complex> -> IO CInt
-- ccall gsl_blas_zgeru , <gsl_complex> -> Ptr <gsl_vector_complex> -> Ptr <gsl_vector_complex> -> Ptr <gsl_matrix_complex> -> IO CInt
-- ccall gsl_blas_zgerc , <gsl_complex> -> Ptr <gsl_vector_complex> -> Ptr <gsl_vector_complex> -> Ptr <gsl_matrix_complex> -> IO CInt
foreign import ccall "gsl_blas_zher" c'gsl_blas_zher
  :: C'CBLAS_UPLO_t -> CDouble -> Ptr C'gsl_vector_complex -> Ptr C'gsl_matrix_complex -> IO CInt
foreign import ccall "&gsl_blas_zher" p'gsl_blas_zher
  :: FunPtr (C'CBLAS_UPLO_t -> CDouble -> Ptr C'gsl_vector_complex -> Ptr C'gsl_matrix_complex -> IO CInt)

{-# LINE 93 "src/Bindings/Gsl/BlasSupport.hsc" #-}
-- ccall gsl_blas_zher2 , <CBLAS_UPLO_t> -> <gsl_complex> -> Ptr <gsl_vector_complex> -> Ptr <gsl_vector_complex> -> Ptr <gsl_matrix_complex> -> IO CInt
foreign import ccall "gsl_blas_sgemm" c'gsl_blas_sgemm
  :: C'CBLAS_TRANSPOSE_t -> C'CBLAS_TRANSPOSE_t -> CFloat -> Ptr C'gsl_matrix_float -> Ptr C'gsl_matrix_float -> CFloat -> Ptr C'gsl_matrix_float -> IO CInt
foreign import ccall "&gsl_blas_sgemm" p'gsl_blas_sgemm
  :: FunPtr (C'CBLAS_TRANSPOSE_t -> C'CBLAS_TRANSPOSE_t -> CFloat -> Ptr C'gsl_matrix_float -> Ptr C'gsl_matrix_float -> CFloat -> Ptr C'gsl_matrix_float -> IO CInt)

{-# LINE 95 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_ssymm" c'gsl_blas_ssymm
  :: C'CBLAS_SIDE_t -> C'CBLAS_UPLO_t -> CFloat -> Ptr C'gsl_matrix_float -> Ptr C'gsl_matrix_float -> CFloat -> Ptr C'gsl_matrix_float -> IO CInt
foreign import ccall "&gsl_blas_ssymm" p'gsl_blas_ssymm
  :: FunPtr (C'CBLAS_SIDE_t -> C'CBLAS_UPLO_t -> CFloat -> Ptr C'gsl_matrix_float -> Ptr C'gsl_matrix_float -> CFloat -> Ptr C'gsl_matrix_float -> IO CInt)

{-# LINE 96 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_ssyrk" c'gsl_blas_ssyrk
  :: C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> CFloat -> Ptr C'gsl_matrix_float -> CFloat -> Ptr C'gsl_matrix_float -> IO CInt
foreign import ccall "&gsl_blas_ssyrk" p'gsl_blas_ssyrk
  :: FunPtr (C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> CFloat -> Ptr C'gsl_matrix_float -> CFloat -> Ptr C'gsl_matrix_float -> IO CInt)

{-# LINE 97 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_ssyr2k" c'gsl_blas_ssyr2k
  :: C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> CFloat -> Ptr C'gsl_matrix_float -> Ptr C'gsl_matrix_float -> CFloat -> Ptr C'gsl_matrix_float -> IO CInt
foreign import ccall "&gsl_blas_ssyr2k" p'gsl_blas_ssyr2k
  :: FunPtr (C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> CFloat -> Ptr C'gsl_matrix_float -> Ptr C'gsl_matrix_float -> CFloat -> Ptr C'gsl_matrix_float -> IO CInt)

{-# LINE 98 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_strmm" c'gsl_blas_strmm
  :: C'CBLAS_SIDE_t -> C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> CFloat -> Ptr C'gsl_matrix_float -> Ptr C'gsl_matrix_float -> IO CInt
foreign import ccall "&gsl_blas_strmm" p'gsl_blas_strmm
  :: FunPtr (C'CBLAS_SIDE_t -> C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> CFloat -> Ptr C'gsl_matrix_float -> Ptr C'gsl_matrix_float -> IO CInt)

{-# LINE 99 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_strsm" c'gsl_blas_strsm
  :: C'CBLAS_SIDE_t -> C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> CFloat -> Ptr C'gsl_matrix_float -> Ptr C'gsl_matrix_float -> IO CInt
foreign import ccall "&gsl_blas_strsm" p'gsl_blas_strsm
  :: FunPtr (C'CBLAS_SIDE_t -> C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> CFloat -> Ptr C'gsl_matrix_float -> Ptr C'gsl_matrix_float -> IO CInt)

{-# LINE 100 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dgemm" c'gsl_blas_dgemm
  :: C'CBLAS_TRANSPOSE_t -> C'CBLAS_TRANSPOSE_t -> CDouble -> Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> CDouble -> Ptr C'gsl_matrix -> IO CInt
foreign import ccall "&gsl_blas_dgemm" p'gsl_blas_dgemm
  :: FunPtr (C'CBLAS_TRANSPOSE_t -> C'CBLAS_TRANSPOSE_t -> CDouble -> Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> CDouble -> Ptr C'gsl_matrix -> IO CInt)

{-# LINE 101 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dsymm" c'gsl_blas_dsymm
  :: C'CBLAS_SIDE_t -> C'CBLAS_UPLO_t -> CDouble -> Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> CDouble -> Ptr C'gsl_matrix -> IO CInt
foreign import ccall "&gsl_blas_dsymm" p'gsl_blas_dsymm
  :: FunPtr (C'CBLAS_SIDE_t -> C'CBLAS_UPLO_t -> CDouble -> Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> CDouble -> Ptr C'gsl_matrix -> IO CInt)

{-# LINE 102 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dsyrk" c'gsl_blas_dsyrk
  :: C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> CDouble -> Ptr C'gsl_matrix -> CDouble -> Ptr C'gsl_matrix -> IO CInt
foreign import ccall "&gsl_blas_dsyrk" p'gsl_blas_dsyrk
  :: FunPtr (C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> CDouble -> Ptr C'gsl_matrix -> CDouble -> Ptr C'gsl_matrix -> IO CInt)

{-# LINE 103 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dsyr2k" c'gsl_blas_dsyr2k
  :: C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> CDouble -> Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> CDouble -> Ptr C'gsl_matrix -> IO CInt
foreign import ccall "&gsl_blas_dsyr2k" p'gsl_blas_dsyr2k
  :: FunPtr (C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> CDouble -> Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> CDouble -> Ptr C'gsl_matrix -> IO CInt)

{-# LINE 104 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dtrmm" c'gsl_blas_dtrmm
  :: C'CBLAS_SIDE_t -> C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> CDouble -> Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> IO CInt
foreign import ccall "&gsl_blas_dtrmm" p'gsl_blas_dtrmm
  :: FunPtr (C'CBLAS_SIDE_t -> C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> CDouble -> Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> IO CInt)

{-# LINE 105 "src/Bindings/Gsl/BlasSupport.hsc" #-}
foreign import ccall "gsl_blas_dtrsm" c'gsl_blas_dtrsm
  :: C'CBLAS_SIDE_t -> C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> CDouble -> Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> IO CInt
foreign import ccall "&gsl_blas_dtrsm" p'gsl_blas_dtrsm
  :: FunPtr (C'CBLAS_SIDE_t -> C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> C'CBLAS_DIAG_t -> CDouble -> Ptr C'gsl_matrix -> Ptr C'gsl_matrix -> IO CInt)

{-# LINE 106 "src/Bindings/Gsl/BlasSupport.hsc" #-}
-- ccall gsl_blas_cgemm , <CBLAS_TRANSPOSE_t> -> <CBLAS_TRANSPOSE_t> -> <gsl_complex_float> -> Ptr <gsl_matrix_complex_float> -> Ptr <gsl_matrix_complex_float> -> <gsl_complex_float> -> Ptr <gsl_matrix_complex_float> -> IO CInt
-- ccall gsl_blas_csymm , <CBLAS_SIDE_t> -> <CBLAS_UPLO_t> -> <gsl_complex_float> -> Ptr <gsl_matrix_complex_float> -> Ptr <gsl_matrix_complex_float> -> <gsl_complex_float> -> Ptr <gsl_matrix_complex_float> -> IO CInt
-- ccall gsl_blas_csyrk , <CBLAS_UPLO_t> -> <CBLAS_TRANSPOSE_t> -> <gsl_complex_float> -> Ptr <gsl_matrix_complex_float> -> <gsl_complex_float> -> Ptr <gsl_matrix_complex_float> -> IO CInt
-- ccall gsl_blas_csyr2k , <CBLAS_UPLO_t> -> <CBLAS_TRANSPOSE_t> -> <gsl_complex_float> -> Ptr <gsl_matrix_complex_float> -> Ptr <gsl_matrix_complex_float> -> <gsl_complex_float> -> Ptr <gsl_matrix_complex_float> -> IO CInt
-- ccall gsl_blas_ctrmm , <CBLAS_SIDE_t> -> <CBLAS_UPLO_t> -> <CBLAS_TRANSPOSE_t> -> <CBLAS_DIAG_t> -> <gsl_complex_float> -> Ptr <gsl_matrix_complex_float> -> Ptr <gsl_matrix_complex_float> -> IO CInt
-- ccall gsl_blas_ctrsm , <CBLAS_SIDE_t> -> <CBLAS_UPLO_t> -> <CBLAS_TRANSPOSE_t> -> <CBLAS_DIAG_t> -> <gsl_complex_float> -> Ptr <gsl_matrix_complex_float> -> Ptr <gsl_matrix_complex_float> -> IO CInt
-- ccall gsl_blas_zgemm , <CBLAS_TRANSPOSE_t> -> <CBLAS_TRANSPOSE_t> -> <gsl_complex> -> Ptr <gsl_matrix_complex> -> Ptr <gsl_matrix_complex> -> <gsl_complex> -> Ptr <gsl_matrix_complex> -> IO CInt
-- ccall gsl_blas_zsymm , <CBLAS_SIDE_t> -> <CBLAS_UPLO_t> -> <gsl_complex> -> Ptr <gsl_matrix_complex> -> Ptr <gsl_matrix_complex> -> <gsl_complex> -> Ptr <gsl_matrix_complex> -> IO CInt
-- ccall gsl_blas_zsyrk , <CBLAS_UPLO_t> -> <CBLAS_TRANSPOSE_t> -> <gsl_complex> -> Ptr <gsl_matrix_complex> -> <gsl_complex> -> Ptr <gsl_matrix_complex> -> IO CInt
-- ccall gsl_blas_zsyr2k , <CBLAS_UPLO_t> -> <CBLAS_TRANSPOSE_t> -> <gsl_complex> -> Ptr <gsl_matrix_complex> -> Ptr <gsl_matrix_complex> -> <gsl_complex> -> Ptr <gsl_matrix_complex> -> IO CInt
-- ccall gsl_blas_ztrmm , <CBLAS_SIDE_t> -> <CBLAS_UPLO_t> -> <CBLAS_TRANSPOSE_t> -> <CBLAS_DIAG_t> -> <gsl_complex> -> Ptr <gsl_matrix_complex> -> Ptr <gsl_matrix_complex> -> IO CInt
-- ccall gsl_blas_ztrsm , <CBLAS_SIDE_t> -> <CBLAS_UPLO_t> -> <CBLAS_TRANSPOSE_t> -> <CBLAS_DIAG_t> -> <gsl_complex> -> Ptr <gsl_matrix_complex> -> Ptr <gsl_matrix_complex> -> IO CInt
-- ccall gsl_blas_chemm , <CBLAS_SIDE_t> -> <CBLAS_UPLO_t> -> <gsl_complex_float> -> Ptr <gsl_matrix_complex_float> -> Ptr <gsl_matrix_complex_float> -> <gsl_complex_float> -> Ptr <gsl_matrix_complex_float> -> IO CInt
foreign import ccall "gsl_blas_cherk" c'gsl_blas_cherk
  :: C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> CFloat -> Ptr C'gsl_matrix_complex_float -> CFloat -> Ptr C'gsl_matrix_complex_float -> IO CInt
foreign import ccall "&gsl_blas_cherk" p'gsl_blas_cherk
  :: FunPtr (C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> CFloat -> Ptr C'gsl_matrix_complex_float -> CFloat -> Ptr C'gsl_matrix_complex_float -> IO CInt)

{-# LINE 120 "src/Bindings/Gsl/BlasSupport.hsc" #-}
-- ccall gsl_blas_cher2k , <CBLAS_UPLO_t> -> <CBLAS_TRANSPOSE_t> -> <gsl_complex_float> -> Ptr <gsl_matrix_complex_float> -> Ptr <gsl_matrix_complex_float> -> CFloat -> Ptr <gsl_matrix_complex_float> -> IO CInt
-- ccall gsl_blas_zhemm , <CBLAS_SIDE_t> -> <CBLAS_UPLO_t> -> <gsl_complex> -> Ptr <gsl_matrix_complex> -> Ptr <gsl_matrix_complex> -> <gsl_complex> -> Ptr <gsl_matrix_complex> -> IO CInt
foreign import ccall "gsl_blas_zherk" c'gsl_blas_zherk
  :: C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> CDouble -> Ptr C'gsl_matrix_complex -> CDouble -> Ptr C'gsl_matrix_complex -> IO CInt
foreign import ccall "&gsl_blas_zherk" p'gsl_blas_zherk
  :: FunPtr (C'CBLAS_UPLO_t -> C'CBLAS_TRANSPOSE_t -> CDouble -> Ptr C'gsl_matrix_complex -> CDouble -> Ptr C'gsl_matrix_complex -> IO CInt)

{-# LINE 123 "src/Bindings/Gsl/BlasSupport.hsc" #-}
-- ccall gsl_blas_zher2k , <CBLAS_UPLO_t> -> <CBLAS_TRANSPOSE_t> -> <gsl_complex> -> Ptr <gsl_matrix_complex> -> Ptr <gsl_matrix_complex> -> CDouble -> Ptr <gsl_matrix_complex> -> IO CInt