-- GENERATED by C->Haskell Compiler, version 0.20.1 The shapeless maps, 31 Oct 2014 (Haskell)
-- Edit the ORIGNAL .chs file instead!


{-# LINE 1 "src/Blas/Primitive/Safe_.chs" #-}
-- This file is auto-generated.  Do not edit directly.
-- |
--   Stability: Stable
--
--   Foreign function interface to Blas.  These functions use safe foreign
--   calls.  Refer to the GHC documentation for more information regarding appropriate
--   use of safe and unsafe foreign calls.
{-# LANGUAGE ForeignFunctionInterface #-}
module Blas.Primitive.Safe (sdsdot, dsdot, sdot, ddot, cdotu_sub, zdotu_sub, cdotc_sub, zdotc_sub, snrm2, dnrm2, scnrm2, dznrm2, sasum, dasum, scasum, dzasum, isamax, idamax, icamax, izamax, sswap, dswap, cswap, zswap, scopy, dcopy, ccopy, zcopy, saxpy, daxpy, caxpy, zaxpy, srotg, drotg, srotmg, drotmg, srot, drot, srotm, drotm, sscal, dscal, cscal, csscal, zscal, zdscal, sgemv, dgemv, cgemv, zgemv, sgbmv, dgbmv, cgbmv, zgbmv, strmv, dtrmv, ctrmv, ztrmv, stbmv, dtbmv, ctbmv, ztbmv, stpmv, dtpmv, ctpmv, ztpmv, strsv, dtrsv, ctrsv, ztrsv, stbsv, dtbsv, ctbsv, ztbsv, stpsv, dtpsv, ctpsv, ztpsv, ssymv, dsymv, ssbmv, dsbmv, sspmv, dspmv, sger, dger, ssyr, dsyr, ssyr2, dsyr2, sspr, dspr, sspr2, dspr2, chemv, zhemv, chbmv, zhbmv, chpmv, zhpmv, cgeru, zgeru, cgerc, zgerc, cher, zher, chpr, zhpr, cher2, zher2, chpr2, zhpr2, sgemm, dgemm, cgemm, zgemm, ssymm, dsymm, csymm, zsymm, ssyrk, dsyrk, csyrk, zsyrk, ssyr2k, dsyr2k, csyr2k, zsyr2k, chemm, zhemm, cherk, zherk, cher2k, zher2k, strmm, dtrmm, ctrmm, ztrmm, strsm, dtrsm, ctrsm, ztrsm) where
import Prelude hiding (Either(Left, Right))
import Data.Complex (Complex)
import Foreign (Ptr, castPtr)
import Foreign.C.Types
import Foreign.Storable.Complex ()
import Blas.Primitive.Types
import BlasCTypes
import FFI



sdsdot :: (Int) -> (Float) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> IO ((Float))
sdsdot a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in
  let {a2' = CFloat a2} in
  let {a3' = castPtr a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  sdsdot'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromCFloat res} in
  return (res')

{-# LINE 21 "src/Blas/Primitive/Safe_.chs" #-}


dsdot :: (Int) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> IO ((Double))
dsdot a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  dsdot'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromCDouble res} in
  return (res')

{-# LINE 23 "src/Blas/Primitive/Safe_.chs" #-}


sdot :: (Int) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> IO ((Float))
sdot a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  sdot'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromCFloat res} in
  return (res')

{-# LINE 25 "src/Blas/Primitive/Safe_.chs" #-}


ddot :: (Int) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> IO ((Double))
ddot a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  ddot'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromCDouble res} in
  return (res')

{-# LINE 27 "src/Blas/Primitive/Safe_.chs" #-}


cdotu_sub :: (Int) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> IO ()
cdotu_sub a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  cdotu_sub'_ a1' a2' a3' a4' a5' a6' >>
  return ()

{-# LINE 29 "src/Blas/Primitive/Safe_.chs" #-}


zdotu_sub :: (Int) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> IO ()
zdotu_sub a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  zdotu_sub'_ a1' a2' a3' a4' a5' a6' >>
  return ()

{-# LINE 31 "src/Blas/Primitive/Safe_.chs" #-}


cdotc_sub :: (Int) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> IO ()
cdotc_sub a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  cdotc_sub'_ a1' a2' a3' a4' a5' a6' >>
  return ()

{-# LINE 33 "src/Blas/Primitive/Safe_.chs" #-}


zdotc_sub :: (Int) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> IO ()
zdotc_sub a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  zdotc_sub'_ a1' a2' a3' a4' a5' a6' >>
  return ()

{-# LINE 35 "src/Blas/Primitive/Safe_.chs" #-}


snrm2 :: (Int) -> (Ptr Float) -> (Int) -> IO ((Float))
snrm2 a1 a2 a3 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  snrm2'_ a1' a2' a3' >>= \res ->
  let {res' = fromCFloat res} in
  return (res')

{-# LINE 37 "src/Blas/Primitive/Safe_.chs" #-}


dnrm2 :: (Int) -> (Ptr Double) -> (Int) -> IO ((Double))
dnrm2 a1 a2 a3 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  dnrm2'_ a1' a2' a3' >>= \res ->
  let {res' = fromCDouble res} in
  return (res')

{-# LINE 39 "src/Blas/Primitive/Safe_.chs" #-}


scnrm2 :: (Int) -> (Ptr (Complex Float)) -> (Int) -> IO ((Float))
scnrm2 a1 a2 a3 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  scnrm2'_ a1' a2' a3' >>= \res ->
  let {res' = fromCFloat res} in
  return (res')

{-# LINE 41 "src/Blas/Primitive/Safe_.chs" #-}


dznrm2 :: (Int) -> (Ptr (Complex Double)) -> (Int) -> IO ((Double))
dznrm2 a1 a2 a3 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  dznrm2'_ a1' a2' a3' >>= \res ->
  let {res' = fromCDouble res} in
  return (res')

{-# LINE 43 "src/Blas/Primitive/Safe_.chs" #-}


sasum :: (Int) -> (Ptr Float) -> (Int) -> IO ((Float))
sasum a1 a2 a3 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  sasum'_ a1' a2' a3' >>= \res ->
  let {res' = fromCFloat res} in
  return (res')

{-# LINE 45 "src/Blas/Primitive/Safe_.chs" #-}


dasum :: (Int) -> (Ptr Double) -> (Int) -> IO ((Double))
dasum a1 a2 a3 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  dasum'_ a1' a2' a3' >>= \res ->
  let {res' = fromCDouble res} in
  return (res')

{-# LINE 47 "src/Blas/Primitive/Safe_.chs" #-}


scasum :: (Int) -> (Ptr (Complex Float)) -> (Int) -> IO ((Float))
scasum a1 a2 a3 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  scasum'_ a1' a2' a3' >>= \res ->
  let {res' = fromCFloat res} in
  return (res')

{-# LINE 49 "src/Blas/Primitive/Safe_.chs" #-}


dzasum :: (Int) -> (Ptr (Complex Double)) -> (Int) -> IO ((Double))
dzasum a1 a2 a3 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  dzasum'_ a1' a2' a3' >>= \res ->
  let {res' = fromCDouble res} in
  return (res')

{-# LINE 51 "src/Blas/Primitive/Safe_.chs" #-}


isamax :: (Int) -> (Ptr Float) -> (Int) -> IO ((Int))
isamax a1 a2 a3 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  isamax'_ a1' a2' a3' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 53 "src/Blas/Primitive/Safe_.chs" #-}


idamax :: (Int) -> (Ptr Double) -> (Int) -> IO ((Int))
idamax a1 a2 a3 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  idamax'_ a1' a2' a3' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 55 "src/Blas/Primitive/Safe_.chs" #-}


icamax :: (Int) -> (Ptr (Complex Float)) -> (Int) -> IO ((Int))
icamax a1 a2 a3 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  icamax'_ a1' a2' a3' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 57 "src/Blas/Primitive/Safe_.chs" #-}


izamax :: (Int) -> (Ptr (Complex Double)) -> (Int) -> IO ((Int))
izamax a1 a2 a3 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  izamax'_ a1' a2' a3' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 59 "src/Blas/Primitive/Safe_.chs" #-}


sswap :: (Int) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> IO ()
sswap a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  sswap'_ a1' a2' a3' a4' a5' >>
  return ()

{-# LINE 61 "src/Blas/Primitive/Safe_.chs" #-}


dswap :: (Int) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> IO ()
dswap a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  dswap'_ a1' a2' a3' a4' a5' >>
  return ()

{-# LINE 63 "src/Blas/Primitive/Safe_.chs" #-}


cswap :: (Int) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> IO ()
cswap a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  cswap'_ a1' a2' a3' a4' a5' >>
  return ()

{-# LINE 65 "src/Blas/Primitive/Safe_.chs" #-}


zswap :: (Int) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zswap a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  zswap'_ a1' a2' a3' a4' a5' >>
  return ()

{-# LINE 67 "src/Blas/Primitive/Safe_.chs" #-}


scopy :: (Int) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> IO ()
scopy a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  scopy'_ a1' a2' a3' a4' a5' >>
  return ()

{-# LINE 69 "src/Blas/Primitive/Safe_.chs" #-}


dcopy :: (Int) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> IO ()
dcopy a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  dcopy'_ a1' a2' a3' a4' a5' >>
  return ()

{-# LINE 71 "src/Blas/Primitive/Safe_.chs" #-}


ccopy :: (Int) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> IO ()
ccopy a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  ccopy'_ a1' a2' a3' a4' a5' >>
  return ()

{-# LINE 73 "src/Blas/Primitive/Safe_.chs" #-}


zcopy :: (Int) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zcopy a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  zcopy'_ a1' a2' a3' a4' a5' >>
  return ()

{-# LINE 75 "src/Blas/Primitive/Safe_.chs" #-}


saxpy :: (Int) -> (Float) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> IO ()
saxpy a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in
  let {a2' = CFloat a2} in
  let {a3' = castPtr a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  saxpy'_ a1' a2' a3' a4' a5' a6' >>
  return ()

{-# LINE 77 "src/Blas/Primitive/Safe_.chs" #-}


daxpy :: (Int) -> (Double) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> IO ()
daxpy a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in
  let {a2' = CDouble a2} in
  let {a3' = castPtr a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  daxpy'_ a1' a2' a3' a4' a5' a6' >>
  return ()

{-# LINE 79 "src/Blas/Primitive/Safe_.chs" #-}


caxpy :: (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> IO ()
caxpy a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in
  withVoidPtr a2 $ \a2' ->
  let {a3' = castPtr a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  caxpy'_ a1' a2' a3' a4' a5' a6' >>
  return ()

{-# LINE 81 "src/Blas/Primitive/Safe_.chs" #-}


zaxpy :: (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zaxpy a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in
  withVoidPtr a2 $ \a2' ->
  let {a3' = castPtr a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  zaxpy'_ a1' a2' a3' a4' a5' a6' >>
  return ()

{-# LINE 83 "src/Blas/Primitive/Safe_.chs" #-}


srotg :: (Ptr Float) -> (Ptr Float) -> (Ptr Float) -> (Ptr Float) -> IO ()
srotg a1 a2 a3 a4 =
  let {a1' = castPtr a1} in
  let {a2' = castPtr a2} in
  let {a3' = castPtr a3} in
  let {a4' = castPtr a4} in
  srotg'_ a1' a2' a3' a4' >>
  return ()

{-# LINE 85 "src/Blas/Primitive/Safe_.chs" #-}


drotg :: (Ptr Double) -> (Ptr Double) -> (Ptr Double) -> (Ptr Double) -> IO ()
drotg a1 a2 a3 a4 =
  let {a1' = castPtr a1} in
  let {a2' = castPtr a2} in
  let {a3' = castPtr a3} in
  let {a4' = castPtr a4} in
  drotg'_ a1' a2' a3' a4' >>
  return ()

{-# LINE 87 "src/Blas/Primitive/Safe_.chs" #-}


srotmg :: (Ptr Float) -> (Ptr Float) -> (Ptr Float) -> (Float) -> (Ptr Float) -> IO ()
srotmg a1 a2 a3 a4 a5 =
  let {a1' = castPtr a1} in
  let {a2' = castPtr a2} in
  let {a3' = castPtr a3} in
  let {a4' = CFloat a4} in
  let {a5' = castPtr a5} in
  srotmg'_ a1' a2' a3' a4' a5' >>
  return ()

{-# LINE 89 "src/Blas/Primitive/Safe_.chs" #-}


drotmg :: (Ptr Double) -> (Ptr Double) -> (Ptr Double) -> (Double) -> (Ptr Double) -> IO ()
drotmg a1 a2 a3 a4 a5 =
  let {a1' = castPtr a1} in
  let {a2' = castPtr a2} in
  let {a3' = castPtr a3} in
  let {a4' = CDouble a4} in
  let {a5' = castPtr a5} in
  drotmg'_ a1' a2' a3' a4' a5' >>
  return ()

{-# LINE 91 "src/Blas/Primitive/Safe_.chs" #-}


srot :: (Int) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> (Float) -> (Float) -> IO ()
srot a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = CFloat a6} in
  let {a7' = CFloat a7} in
  srot'_ a1' a2' a3' a4' a5' a6' a7' >>
  return ()

{-# LINE 93 "src/Blas/Primitive/Safe_.chs" #-}


drot :: (Int) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> (Double) -> (Double) -> IO ()
drot a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = CDouble a6} in
  let {a7' = CDouble a7} in
  drot'_ a1' a2' a3' a4' a5' a6' a7' >>
  return ()

{-# LINE 95 "src/Blas/Primitive/Safe_.chs" #-}


srotm :: (Int) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> (Ptr Float) -> IO ()
srotm a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  srotm'_ a1' a2' a3' a4' a5' a6' >>
  return ()

{-# LINE 97 "src/Blas/Primitive/Safe_.chs" #-}


drotm :: (Int) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> (Ptr Double) -> IO ()
drotm a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in
  let {a2' = castPtr a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = castPtr a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  drotm'_ a1' a2' a3' a4' a5' a6' >>
  return ()

{-# LINE 99 "src/Blas/Primitive/Safe_.chs" #-}


sscal :: (Int) -> (Float) -> (Ptr Float) -> (Int) -> IO ()
sscal a1 a2 a3 a4 =
  let {a1' = fromIntegral a1} in
  let {a2' = CFloat a2} in
  let {a3' = castPtr a3} in
  let {a4' = fromIntegral a4} in
  sscal'_ a1' a2' a3' a4' >>
  return ()

{-# LINE 101 "src/Blas/Primitive/Safe_.chs" #-}


dscal :: (Int) -> (Double) -> (Ptr Double) -> (Int) -> IO ()
dscal a1 a2 a3 a4 =
  let {a1' = fromIntegral a1} in
  let {a2' = CDouble a2} in
  let {a3' = castPtr a3} in
  let {a4' = fromIntegral a4} in
  dscal'_ a1' a2' a3' a4' >>
  return ()

{-# LINE 103 "src/Blas/Primitive/Safe_.chs" #-}


cscal :: (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> IO ()
cscal a1 a2 a3 a4 =
  let {a1' = fromIntegral a1} in
  withVoidPtr a2 $ \a2' ->
  let {a3' = castPtr a3} in
  let {a4' = fromIntegral a4} in
  cscal'_ a1' a2' a3' a4' >>
  return ()

{-# LINE 105 "src/Blas/Primitive/Safe_.chs" #-}


csscal :: (Int) -> (Float) -> (Ptr (Complex Float)) -> (Int) -> IO ()
csscal a1 a2 a3 a4 =
  let {a1' = fromIntegral a1} in
  let {a2' = CFloat a2} in
  let {a3' = castPtr a3} in
  let {a4' = fromIntegral a4} in
  csscal'_ a1' a2' a3' a4' >>
  return ()

{-# LINE 107 "src/Blas/Primitive/Safe_.chs" #-}


zscal :: (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zscal a1 a2 a3 a4 =
  let {a1' = fromIntegral a1} in
  withVoidPtr a2 $ \a2' ->
  let {a3' = castPtr a3} in
  let {a4' = fromIntegral a4} in
  zscal'_ a1' a2' a3' a4' >>
  return ()

{-# LINE 109 "src/Blas/Primitive/Safe_.chs" #-}


zdscal :: (Int) -> (Double) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zdscal a1 a2 a3 a4 =
  let {a1' = fromIntegral a1} in
  let {a2' = CDouble a2} in
  let {a3' = castPtr a3} in
  let {a4' = fromIntegral a4} in
  zdscal'_ a1' a2' a3' a4' >>
  return ()

{-# LINE 111 "src/Blas/Primitive/Safe_.chs" #-}


sgemv :: (Order) -> (Transpose) -> (Int) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> IO ()
sgemv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = CFloat a5} in
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  let {a10' = CFloat a10} in
  let {a11' = castPtr a11} in
  let {a12' = fromIntegral a12} in
  sgemv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>
  return ()

{-# LINE 113 "src/Blas/Primitive/Safe_.chs" #-}


dgemv :: (Order) -> (Transpose) -> (Int) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> IO ()
dgemv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = CDouble a5} in
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  let {a10' = CDouble a10} in
  let {a11' = castPtr a11} in
  let {a12' = fromIntegral a12} in
  dgemv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>
  return ()

{-# LINE 115 "src/Blas/Primitive/Safe_.chs" #-}


cgemv :: (Order) -> (Transpose) -> (Int) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> IO ()
cgemv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = fromIntegral a4} in
  withVoidPtr a5 $ \a5' ->
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  withVoidPtr a10 $ \a10' ->
  let {a11' = castPtr a11} in
  let {a12' = fromIntegral a12} in
  cgemv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>
  return ()

{-# LINE 117 "src/Blas/Primitive/Safe_.chs" #-}


zgemv :: (Order) -> (Transpose) -> (Int) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zgemv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = fromIntegral a4} in
  withVoidPtr a5 $ \a5' ->
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  withVoidPtr a10 $ \a10' ->
  let {a11' = castPtr a11} in
  let {a12' = fromIntegral a12} in
  zgemv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>
  return ()

{-# LINE 119 "src/Blas/Primitive/Safe_.chs" #-}


sgbmv :: (Order) -> (Transpose) -> (Int) -> (Int) -> (Int) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> IO ()
sgbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = CFloat a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  let {a12' = CFloat a12} in
  let {a13' = castPtr a13} in
  let {a14' = fromIntegral a14} in
  sgbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>
  return ()

{-# LINE 121 "src/Blas/Primitive/Safe_.chs" #-}


dgbmv :: (Order) -> (Transpose) -> (Int) -> (Int) -> (Int) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> IO ()
dgbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = CDouble a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  let {a12' = CDouble a12} in
  let {a13' = castPtr a13} in
  let {a14' = fromIntegral a14} in
  dgbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>
  return ()

{-# LINE 123 "src/Blas/Primitive/Safe_.chs" #-}


cgbmv :: (Order) -> (Transpose) -> (Int) -> (Int) -> (Int) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> IO ()
cgbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = fromIntegral a6} in
  withVoidPtr a7 $ \a7' ->
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  withVoidPtr a12 $ \a12' ->
  let {a13' = castPtr a13} in
  let {a14' = fromIntegral a14} in
  cgbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>
  return ()

{-# LINE 125 "src/Blas/Primitive/Safe_.chs" #-}


zgbmv :: (Order) -> (Transpose) -> (Int) -> (Int) -> (Int) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zgbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = fromIntegral a6} in
  withVoidPtr a7 $ \a7' ->
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  withVoidPtr a12 $ \a12' ->
  let {a13' = castPtr a13} in
  let {a14' = fromIntegral a14} in
  zgbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>
  return ()

{-# LINE 127 "src/Blas/Primitive/Safe_.chs" #-}


strmv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> IO ()
strmv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  strmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>
  return ()

{-# LINE 129 "src/Blas/Primitive/Safe_.chs" #-}


dtrmv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> IO ()
dtrmv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  dtrmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>
  return ()

{-# LINE 131 "src/Blas/Primitive/Safe_.chs" #-}


ctrmv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> IO ()
ctrmv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  ctrmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>
  return ()

{-# LINE 133 "src/Blas/Primitive/Safe_.chs" #-}


ztrmv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> IO ()
ztrmv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  ztrmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>
  return ()

{-# LINE 135 "src/Blas/Primitive/Safe_.chs" #-}


stbmv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Int) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> IO ()
stbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  stbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 137 "src/Blas/Primitive/Safe_.chs" #-}


dtbmv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Int) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> IO ()
dtbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  dtbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 139 "src/Blas/Primitive/Safe_.chs" #-}


ctbmv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> IO ()
ctbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  ctbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 141 "src/Blas/Primitive/Safe_.chs" #-}


ztbmv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> IO ()
ztbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  ztbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 143 "src/Blas/Primitive/Safe_.chs" #-}


stpmv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Ptr Float) -> (Ptr Float) -> (Int) -> IO ()
stpmv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  stpmv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>
  return ()

{-# LINE 145 "src/Blas/Primitive/Safe_.chs" #-}


dtpmv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Ptr Double) -> (Ptr Double) -> (Int) -> IO ()
dtpmv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  dtpmv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>
  return ()

{-# LINE 147 "src/Blas/Primitive/Safe_.chs" #-}


ctpmv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Ptr (Complex Float)) -> (Ptr (Complex Float)) -> (Int) -> IO ()
ctpmv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  ctpmv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>
  return ()

{-# LINE 149 "src/Blas/Primitive/Safe_.chs" #-}


ztpmv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Ptr (Complex Double)) -> (Ptr (Complex Double)) -> (Int) -> IO ()
ztpmv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  ztpmv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>
  return ()

{-# LINE 151 "src/Blas/Primitive/Safe_.chs" #-}


strsv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> IO ()
strsv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  strsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>
  return ()

{-# LINE 153 "src/Blas/Primitive/Safe_.chs" #-}


dtrsv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> IO ()
dtrsv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  dtrsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>
  return ()

{-# LINE 155 "src/Blas/Primitive/Safe_.chs" #-}


ctrsv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> IO ()
ctrsv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  ctrsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>
  return ()

{-# LINE 157 "src/Blas/Primitive/Safe_.chs" #-}


ztrsv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> IO ()
ztrsv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  ztrsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>
  return ()

{-# LINE 159 "src/Blas/Primitive/Safe_.chs" #-}


stbsv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Int) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> IO ()
stbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  stbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 161 "src/Blas/Primitive/Safe_.chs" #-}


dtbsv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Int) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> IO ()
dtbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  dtbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 163 "src/Blas/Primitive/Safe_.chs" #-}


ctbsv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> IO ()
ctbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  ctbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 165 "src/Blas/Primitive/Safe_.chs" #-}


ztbsv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> IO ()
ztbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  ztbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 167 "src/Blas/Primitive/Safe_.chs" #-}


stpsv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Ptr Float) -> (Ptr Float) -> (Int) -> IO ()
stpsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  stpsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>
  return ()

{-# LINE 169 "src/Blas/Primitive/Safe_.chs" #-}


dtpsv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Ptr Double) -> (Ptr Double) -> (Int) -> IO ()
dtpsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  dtpsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>
  return ()

{-# LINE 171 "src/Blas/Primitive/Safe_.chs" #-}


ctpsv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Ptr (Complex Float)) -> (Ptr (Complex Float)) -> (Int) -> IO ()
ctpsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  ctpsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>
  return ()

{-# LINE 173 "src/Blas/Primitive/Safe_.chs" #-}


ztpsv :: (Order) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Ptr (Complex Double)) -> (Ptr (Complex Double)) -> (Int) -> IO ()
ztpsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = castPtr a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  ztpsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>
  return ()

{-# LINE 175 "src/Blas/Primitive/Safe_.chs" #-}


ssymv :: (Order) -> (Uplo) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> IO ()
ssymv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CFloat a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = CFloat a9} in
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  ssymv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>
  return ()

{-# LINE 177 "src/Blas/Primitive/Safe_.chs" #-}


dsymv :: (Order) -> (Uplo) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> IO ()
dsymv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CDouble a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = CDouble a9} in
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  dsymv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>
  return ()

{-# LINE 179 "src/Blas/Primitive/Safe_.chs" #-}


ssbmv :: (Order) -> (Uplo) -> (Int) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> IO ()
ssbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = CFloat a5} in
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  let {a10' = CFloat a10} in
  let {a11' = castPtr a11} in
  let {a12' = fromIntegral a12} in
  ssbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>
  return ()

{-# LINE 181 "src/Blas/Primitive/Safe_.chs" #-}


dsbmv :: (Order) -> (Uplo) -> (Int) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> IO ()
dsbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = CDouble a5} in
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  let {a10' = CDouble a10} in
  let {a11' = castPtr a11} in
  let {a12' = fromIntegral a12} in
  dsbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>
  return ()

{-# LINE 183 "src/Blas/Primitive/Safe_.chs" #-}


sspmv :: (Order) -> (Uplo) -> (Int) -> (Float) -> (Ptr Float) -> (Ptr Float) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> IO ()
sspmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CFloat a4} in
  let {a5' = castPtr a5} in
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = CFloat a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  sspmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 185 "src/Blas/Primitive/Safe_.chs" #-}


dspmv :: (Order) -> (Uplo) -> (Int) -> (Double) -> (Ptr Double) -> (Ptr Double) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> IO ()
dspmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CDouble a4} in
  let {a5' = castPtr a5} in
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = CDouble a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  dspmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 187 "src/Blas/Primitive/Safe_.chs" #-}


sger :: (Order) -> (Int) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> IO ()
sger a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = fromIntegral a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CFloat a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  sger'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 189 "src/Blas/Primitive/Safe_.chs" #-}


dger :: (Order) -> (Int) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> IO ()
dger a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = fromIntegral a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CDouble a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  dger'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 191 "src/Blas/Primitive/Safe_.chs" #-}


ssyr :: (Order) -> (Uplo) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> IO ()
ssyr a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CFloat a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  ssyr'_ a1' a2' a3' a4' a5' a6' a7' a8' >>
  return ()

{-# LINE 193 "src/Blas/Primitive/Safe_.chs" #-}


dsyr :: (Order) -> (Uplo) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> IO ()
dsyr a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CDouble a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  dsyr'_ a1' a2' a3' a4' a5' a6' a7' a8' >>
  return ()

{-# LINE 195 "src/Blas/Primitive/Safe_.chs" #-}


ssyr2 :: (Order) -> (Uplo) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> IO ()
ssyr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CFloat a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  ssyr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 197 "src/Blas/Primitive/Safe_.chs" #-}


dsyr2 :: (Order) -> (Uplo) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> IO ()
dsyr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CDouble a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  dsyr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 199 "src/Blas/Primitive/Safe_.chs" #-}


sspr :: (Order) -> (Uplo) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> (Ptr Float) -> IO ()
sspr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CFloat a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  sspr'_ a1' a2' a3' a4' a5' a6' a7' >>
  return ()

{-# LINE 201 "src/Blas/Primitive/Safe_.chs" #-}


dspr :: (Order) -> (Uplo) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> (Ptr Double) -> IO ()
dspr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CDouble a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  dspr'_ a1' a2' a3' a4' a5' a6' a7' >>
  return ()

{-# LINE 203 "src/Blas/Primitive/Safe_.chs" #-}


sspr2 :: (Order) -> (Uplo) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> (Ptr Float) -> IO ()
sspr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CFloat a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  sspr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>
  return ()

{-# LINE 205 "src/Blas/Primitive/Safe_.chs" #-}


dspr2 :: (Order) -> (Uplo) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> (Ptr Double) -> IO ()
dspr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CDouble a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  dspr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>
  return ()

{-# LINE 207 "src/Blas/Primitive/Safe_.chs" #-}


chemv :: (Order) -> (Uplo) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> IO ()
chemv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  withVoidPtr a4 $ \a4' ->
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  withVoidPtr a9 $ \a9' ->
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  chemv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>
  return ()

{-# LINE 209 "src/Blas/Primitive/Safe_.chs" #-}


zhemv :: (Order) -> (Uplo) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zhemv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  withVoidPtr a4 $ \a4' ->
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  withVoidPtr a9 $ \a9' ->
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  zhemv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>
  return ()

{-# LINE 211 "src/Blas/Primitive/Safe_.chs" #-}


chbmv :: (Order) -> (Uplo) -> (Int) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> IO ()
chbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = fromIntegral a4} in
  withVoidPtr a5 $ \a5' ->
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  withVoidPtr a10 $ \a10' ->
  let {a11' = castPtr a11} in
  let {a12' = fromIntegral a12} in
  chbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>
  return ()

{-# LINE 213 "src/Blas/Primitive/Safe_.chs" #-}


zhbmv :: (Order) -> (Uplo) -> (Int) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zhbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = fromIntegral a4} in
  withVoidPtr a5 $ \a5' ->
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  withVoidPtr a10 $ \a10' ->
  let {a11' = castPtr a11} in
  let {a12' = fromIntegral a12} in
  zhbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>
  return ()

{-# LINE 215 "src/Blas/Primitive/Safe_.chs" #-}


chpmv :: (Order) -> (Uplo) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Ptr (Complex Float)) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> IO ()
chpmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  withVoidPtr a4 $ \a4' ->
  let {a5' = castPtr a5} in
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  withVoidPtr a8 $ \a8' ->
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  chpmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 217 "src/Blas/Primitive/Safe_.chs" #-}


zhpmv :: (Order) -> (Uplo) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Ptr (Complex Double)) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zhpmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  withVoidPtr a4 $ \a4' ->
  let {a5' = castPtr a5} in
  let {a6' = castPtr a6} in
  let {a7' = fromIntegral a7} in
  withVoidPtr a8 $ \a8' ->
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  zhpmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 219 "src/Blas/Primitive/Safe_.chs" #-}


cgeru :: (Order) -> (Int) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> IO ()
cgeru a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = fromIntegral a2} in
  let {a3' = fromIntegral a3} in
  withVoidPtr a4 $ \a4' ->
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  cgeru'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 221 "src/Blas/Primitive/Safe_.chs" #-}


zgeru :: (Order) -> (Int) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zgeru a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = fromIntegral a2} in
  let {a3' = fromIntegral a3} in
  withVoidPtr a4 $ \a4' ->
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  zgeru'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 223 "src/Blas/Primitive/Safe_.chs" #-}


cgerc :: (Order) -> (Int) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> IO ()
cgerc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = fromIntegral a2} in
  let {a3' = fromIntegral a3} in
  withVoidPtr a4 $ \a4' ->
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  cgerc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 225 "src/Blas/Primitive/Safe_.chs" #-}


zgerc :: (Order) -> (Int) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zgerc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = fromIntegral a2} in
  let {a3' = fromIntegral a3} in
  withVoidPtr a4 $ \a4' ->
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  zgerc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 227 "src/Blas/Primitive/Safe_.chs" #-}


cher :: (Order) -> (Uplo) -> (Int) -> (Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> IO ()
cher a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CFloat a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  cher'_ a1' a2' a3' a4' a5' a6' a7' a8' >>
  return ()

{-# LINE 229 "src/Blas/Primitive/Safe_.chs" #-}


zher :: (Order) -> (Uplo) -> (Int) -> (Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zher a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CDouble a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  zher'_ a1' a2' a3' a4' a5' a6' a7' a8' >>
  return ()

{-# LINE 231 "src/Blas/Primitive/Safe_.chs" #-}


chpr :: (Order) -> (Uplo) -> (Int) -> (Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> IO ()
chpr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CFloat a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  chpr'_ a1' a2' a3' a4' a5' a6' a7' >>
  return ()

{-# LINE 233 "src/Blas/Primitive/Safe_.chs" #-}


zhpr :: (Order) -> (Uplo) -> (Int) -> (Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> IO ()
zhpr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  let {a4' = CDouble a4} in
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  zhpr'_ a1' a2' a3' a4' a5' a6' a7' >>
  return ()

{-# LINE 235 "src/Blas/Primitive/Safe_.chs" #-}


cher2 :: (Order) -> (Uplo) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> IO ()
cher2 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  withVoidPtr a4 $ \a4' ->
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  cher2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 237 "src/Blas/Primitive/Safe_.chs" #-}


zher2 :: (Order) -> (Uplo) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zher2 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  withVoidPtr a4 $ \a4' ->
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  zher2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>
  return ()

{-# LINE 239 "src/Blas/Primitive/Safe_.chs" #-}


chpr2 :: (Order) -> (Uplo) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> IO ()
chpr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  withVoidPtr a4 $ \a4' ->
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  chpr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>
  return ()

{-# LINE 241 "src/Blas/Primitive/Safe_.chs" #-}


zhpr2 :: (Order) -> (Uplo) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> IO ()
zhpr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = fromIntegral a3} in
  withVoidPtr a4 $ \a4' ->
  let {a5' = castPtr a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  zhpr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>
  return ()

{-# LINE 243 "src/Blas/Primitive/Safe_.chs" #-}


sgemm :: (Order) -> (Transpose) -> (Transpose) -> (Int) -> (Int) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> IO ()
sgemm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = CFloat a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  let {a12' = CFloat a12} in
  let {a13' = castPtr a13} in
  let {a14' = fromIntegral a14} in
  sgemm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>
  return ()

{-# LINE 245 "src/Blas/Primitive/Safe_.chs" #-}


dgemm :: (Order) -> (Transpose) -> (Transpose) -> (Int) -> (Int) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> IO ()
dgemm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = CDouble a7} in
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  let {a12' = CDouble a12} in
  let {a13' = castPtr a13} in
  let {a14' = fromIntegral a14} in
  dgemm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>
  return ()

{-# LINE 247 "src/Blas/Primitive/Safe_.chs" #-}


cgemm :: (Order) -> (Transpose) -> (Transpose) -> (Int) -> (Int) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> IO ()
cgemm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = fromIntegral a6} in
  withVoidPtr a7 $ \a7' ->
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  withVoidPtr a12 $ \a12' ->
  let {a13' = castPtr a13} in
  let {a14' = fromIntegral a14} in
  cgemm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>
  return ()

{-# LINE 249 "src/Blas/Primitive/Safe_.chs" #-}


zgemm :: (Order) -> (Transpose) -> (Transpose) -> (Int) -> (Int) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zgemm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = fromIntegral a6} in
  withVoidPtr a7 $ \a7' ->
  let {a8' = castPtr a8} in
  let {a9' = fromIntegral a9} in
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  withVoidPtr a12 $ \a12' ->
  let {a13' = castPtr a13} in
  let {a14' = fromIntegral a14} in
  zgemm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>
  return ()

{-# LINE 251 "src/Blas/Primitive/Safe_.chs" #-}


ssymm :: (Order) -> (Side) -> (Uplo) -> (Int) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> IO ()
ssymm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = CFloat a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  let {a11' = CFloat a11} in
  let {a12' = castPtr a12} in
  let {a13' = fromIntegral a13} in
  ssymm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>
  return ()

{-# LINE 253 "src/Blas/Primitive/Safe_.chs" #-}


dsymm :: (Order) -> (Side) -> (Uplo) -> (Int) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> IO ()
dsymm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = CDouble a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  let {a11' = CDouble a11} in
  let {a12' = castPtr a12} in
  let {a13' = fromIntegral a13} in
  dsymm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>
  return ()

{-# LINE 255 "src/Blas/Primitive/Safe_.chs" #-}


csymm :: (Order) -> (Side) -> (Uplo) -> (Int) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> IO ()
csymm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  withVoidPtr a6 $ \a6' ->
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  withVoidPtr a11 $ \a11' ->
  let {a12' = castPtr a12} in
  let {a13' = fromIntegral a13} in
  csymm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>
  return ()

{-# LINE 257 "src/Blas/Primitive/Safe_.chs" #-}


zsymm :: (Order) -> (Side) -> (Uplo) -> (Int) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zsymm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  withVoidPtr a6 $ \a6' ->
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  withVoidPtr a11 $ \a11' ->
  let {a12' = castPtr a12} in
  let {a13' = fromIntegral a13} in
  zsymm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>
  return ()

{-# LINE 259 "src/Blas/Primitive/Safe_.chs" #-}


ssyrk :: (Order) -> (Uplo) -> (Transpose) -> (Int) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> IO ()
ssyrk a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = CFloat a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = CFloat a9} in
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  ssyrk'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>
  return ()

{-# LINE 261 "src/Blas/Primitive/Safe_.chs" #-}


dsyrk :: (Order) -> (Uplo) -> (Transpose) -> (Int) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> IO ()
dsyrk a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = CDouble a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = CDouble a9} in
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  dsyrk'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>
  return ()

{-# LINE 263 "src/Blas/Primitive/Safe_.chs" #-}


csyrk :: (Order) -> (Uplo) -> (Transpose) -> (Int) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> IO ()
csyrk a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  withVoidPtr a6 $ \a6' ->
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  withVoidPtr a9 $ \a9' ->
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  csyrk'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>
  return ()

{-# LINE 265 "src/Blas/Primitive/Safe_.chs" #-}


zsyrk :: (Order) -> (Uplo) -> (Transpose) -> (Int) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zsyrk a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  withVoidPtr a6 $ \a6' ->
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  withVoidPtr a9 $ \a9' ->
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  zsyrk'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>
  return ()

{-# LINE 267 "src/Blas/Primitive/Safe_.chs" #-}


ssyr2k :: (Order) -> (Uplo) -> (Transpose) -> (Int) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> IO ()
ssyr2k a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = CFloat a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  let {a11' = CFloat a11} in
  let {a12' = castPtr a12} in
  let {a13' = fromIntegral a13} in
  ssyr2k'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>
  return ()

{-# LINE 269 "src/Blas/Primitive/Safe_.chs" #-}


dsyr2k :: (Order) -> (Uplo) -> (Transpose) -> (Int) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> IO ()
dsyr2k a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = CDouble a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  let {a11' = CDouble a11} in
  let {a12' = castPtr a12} in
  let {a13' = fromIntegral a13} in
  dsyr2k'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>
  return ()

{-# LINE 271 "src/Blas/Primitive/Safe_.chs" #-}


csyr2k :: (Order) -> (Uplo) -> (Transpose) -> (Int) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> IO ()
csyr2k a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  withVoidPtr a6 $ \a6' ->
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  withVoidPtr a11 $ \a11' ->
  let {a12' = castPtr a12} in
  let {a13' = fromIntegral a13} in
  csyr2k'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>
  return ()

{-# LINE 273 "src/Blas/Primitive/Safe_.chs" #-}


zsyr2k :: (Order) -> (Uplo) -> (Transpose) -> (Int) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zsyr2k a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  withVoidPtr a6 $ \a6' ->
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  withVoidPtr a11 $ \a11' ->
  let {a12' = castPtr a12} in
  let {a13' = fromIntegral a13} in
  zsyr2k'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>
  return ()

{-# LINE 275 "src/Blas/Primitive/Safe_.chs" #-}


chemm :: (Order) -> (Side) -> (Uplo) -> (Int) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> IO ()
chemm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  withVoidPtr a6 $ \a6' ->
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  withVoidPtr a11 $ \a11' ->
  let {a12' = castPtr a12} in
  let {a13' = fromIntegral a13} in
  chemm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>
  return ()

{-# LINE 277 "src/Blas/Primitive/Safe_.chs" #-}


zhemm :: (Order) -> (Side) -> (Uplo) -> (Int) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zhemm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  withVoidPtr a6 $ \a6' ->
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  withVoidPtr a11 $ \a11' ->
  let {a12' = castPtr a12} in
  let {a13' = fromIntegral a13} in
  zhemm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>
  return ()

{-# LINE 279 "src/Blas/Primitive/Safe_.chs" #-}


cherk :: (Order) -> (Uplo) -> (Transpose) -> (Int) -> (Int) -> (Float) -> (Ptr (Complex Float)) -> (Int) -> (Float) -> (Ptr (Complex Float)) -> (Int) -> IO ()
cherk a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = CFloat a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = CFloat a9} in
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  cherk'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>
  return ()

{-# LINE 281 "src/Blas/Primitive/Safe_.chs" #-}


zherk :: (Order) -> (Uplo) -> (Transpose) -> (Int) -> (Int) -> (Double) -> (Ptr (Complex Double)) -> (Int) -> (Double) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zherk a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  let {a6' = CDouble a6} in
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = CDouble a9} in
  let {a10' = castPtr a10} in
  let {a11' = fromIntegral a11} in
  zherk'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>
  return ()

{-# LINE 283 "src/Blas/Primitive/Safe_.chs" #-}


cher2k :: (Order) -> (Uplo) -> (Transpose) -> (Int) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> (Float) -> (Ptr (Complex Float)) -> (Int) -> IO ()
cher2k a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  withVoidPtr a6 $ \a6' ->
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  let {a11' = CFloat a11} in
  let {a12' = castPtr a12} in
  let {a13' = fromIntegral a13} in
  cher2k'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>
  return ()

{-# LINE 285 "src/Blas/Primitive/Safe_.chs" #-}


zher2k :: (Order) -> (Uplo) -> (Transpose) -> (Int) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> (Double) -> (Ptr (Complex Double)) -> (Int) -> IO ()
zher2k a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = fromIntegral a4} in
  let {a5' = fromIntegral a5} in
  withVoidPtr a6 $ \a6' ->
  let {a7' = castPtr a7} in
  let {a8' = fromIntegral a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  let {a11' = CDouble a11} in
  let {a12' = castPtr a12} in
  let {a13' = fromIntegral a13} in
  zher2k'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>
  return ()

{-# LINE 287 "src/Blas/Primitive/Safe_.chs" #-}


strmm :: (Order) -> (Side) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> IO ()
strmm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = toCEnum a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = CFloat a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  let {a11' = castPtr a11} in
  let {a12' = fromIntegral a12} in
  strmm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>
  return ()

{-# LINE 289 "src/Blas/Primitive/Safe_.chs" #-}


dtrmm :: (Order) -> (Side) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> IO ()
dtrmm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = toCEnum a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = CDouble a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  let {a11' = castPtr a11} in
  let {a12' = fromIntegral a12} in
  dtrmm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>
  return ()

{-# LINE 291 "src/Blas/Primitive/Safe_.chs" #-}


ctrmm :: (Order) -> (Side) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> IO ()
ctrmm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = toCEnum a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = fromIntegral a7} in
  withVoidPtr a8 $ \a8' ->
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  let {a11' = castPtr a11} in
  let {a12' = fromIntegral a12} in
  ctrmm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>
  return ()

{-# LINE 293 "src/Blas/Primitive/Safe_.chs" #-}


ztrmm :: (Order) -> (Side) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> IO ()
ztrmm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = toCEnum a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = fromIntegral a7} in
  withVoidPtr a8 $ \a8' ->
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  let {a11' = castPtr a11} in
  let {a12' = fromIntegral a12} in
  ztrmm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>
  return ()

{-# LINE 295 "src/Blas/Primitive/Safe_.chs" #-}


strsm :: (Order) -> (Side) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Int) -> (Float) -> (Ptr Float) -> (Int) -> (Ptr Float) -> (Int) -> IO ()
strsm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = toCEnum a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = CFloat a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  let {a11' = castPtr a11} in
  let {a12' = fromIntegral a12} in
  strsm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>
  return ()

{-# LINE 297 "src/Blas/Primitive/Safe_.chs" #-}


dtrsm :: (Order) -> (Side) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Int) -> (Double) -> (Ptr Double) -> (Int) -> (Ptr Double) -> (Int) -> IO ()
dtrsm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = toCEnum a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = fromIntegral a7} in
  let {a8' = CDouble a8} in
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  let {a11' = castPtr a11} in
  let {a12' = fromIntegral a12} in
  dtrsm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>
  return ()

{-# LINE 299 "src/Blas/Primitive/Safe_.chs" #-}


ctrsm :: (Order) -> (Side) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Int) -> (Complex Float) -> (Ptr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (Int) -> IO ()
ctrsm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = toCEnum a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = fromIntegral a7} in
  withVoidPtr a8 $ \a8' ->
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  let {a11' = castPtr a11} in
  let {a12' = fromIntegral a12} in
  ctrsm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>
  return ()

{-# LINE 301 "src/Blas/Primitive/Safe_.chs" #-}


ztrsm :: (Order) -> (Side) -> (Uplo) -> (Transpose) -> (Diag) -> (Int) -> (Int) -> (Complex Double) -> (Ptr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (Int) -> IO ()
ztrsm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = toCEnum a1} in
  let {a2' = toCEnum a2} in
  let {a3' = toCEnum a3} in
  let {a4' = toCEnum a4} in
  let {a5' = toCEnum a5} in
  let {a6' = fromIntegral a6} in
  let {a7' = fromIntegral a7} in
  withVoidPtr a8 $ \a8' ->
  let {a9' = castPtr a9} in
  let {a10' = fromIntegral a10} in
  let {a11' = castPtr a11} in
  let {a12' = fromIntegral a12} in
  ztrsm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>
  return ()

{-# LINE 21 "src/Blas/Primitive/Safe_.chs" #-}

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_sdsdot"
  sdsdot'_ :: (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO CFloat)))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dsdot"
  dsdot'_ :: (BlasInt -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO CDouble))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_sdot"
  sdot'_ :: (BlasInt -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO CFloat))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ddot"
  ddot'_ :: (BlasInt -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (IO CDouble))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_cdotu_sub"
  cdotu_sub'_ :: (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (IO ())))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zdotu_sub"
  zdotu_sub'_ :: (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (IO ())))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_cdotc_sub"
  cdotc_sub'_ :: (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (IO ())))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zdotc_sub"
  zdotc_sub'_ :: (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (IO ())))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_snrm2"
  snrm2'_ :: (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO CFloat))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dnrm2"
  dnrm2'_ :: (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (IO CDouble))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_scnrm2"
  scnrm2'_ :: (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO CFloat))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dznrm2"
  dznrm2'_ :: (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO CDouble))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_sasum"
  sasum'_ :: (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO CFloat))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dasum"
  dasum'_ :: (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (IO CDouble))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_scasum"
  scasum'_ :: (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO CFloat))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dzasum"
  dzasum'_ :: (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO CDouble))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_isamax"
  isamax'_ :: (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO BlasIndex))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_idamax"
  idamax'_ :: (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (IO BlasIndex))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_icamax"
  icamax'_ :: (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO BlasIndex))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_izamax"
  izamax'_ :: (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO BlasIndex))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_sswap"
  sswap'_ :: (BlasInt -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO ()))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dswap"
  dswap'_ :: (BlasInt -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (IO ()))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_cswap"
  cswap'_ :: (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ()))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zswap"
  zswap'_ :: (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ()))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_scopy"
  scopy'_ :: (BlasInt -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO ()))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dcopy"
  dcopy'_ :: (BlasInt -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (IO ()))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ccopy"
  ccopy'_ :: (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ()))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zcopy"
  zcopy'_ :: (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ()))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_saxpy"
  saxpy'_ :: (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO ())))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_daxpy"
  daxpy'_ :: (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (IO ())))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_caxpy"
  caxpy'_ :: (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zaxpy"
  zaxpy'_ :: (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_srotg"
  srotg'_ :: ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO ())))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_drotg"
  drotg'_ :: ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO ())))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_srotmg"
  srotmg'_ :: ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CFloat -> ((Ptr CFloat) -> (IO ()))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_drotmg"
  drotmg'_ :: ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CDouble -> ((Ptr CDouble) -> (IO ()))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_srot"
  srot'_ :: (BlasInt -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (CFloat -> (CFloat -> (IO ()))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_drot"
  drot'_ :: (BlasInt -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (CDouble -> (CDouble -> (IO ()))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_srotm"
  srotm'_ :: (BlasInt -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (IO ())))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_drotm"
  drotm'_ :: (BlasInt -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (IO ())))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_sscal"
  sscal'_ :: (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> (IO ())))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dscal"
  dscal'_ :: (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> (IO ())))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_cscal"
  cscal'_ :: (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ())))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_csscal"
  csscal'_ :: (BlasInt -> (CFloat -> ((Ptr ()) -> (BlasInt -> (IO ())))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zscal"
  zscal'_ :: (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ())))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zdscal"
  zdscal'_ :: (BlasInt -> (CDouble -> ((Ptr ()) -> (BlasInt -> (IO ())))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_sgemv"
  sgemv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> (IO ())))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dgemv"
  dgemv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> (IO ())))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_cgemv"
  cgemv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zgemv"
  zgemv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_sgbmv"
  sgbmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> (IO ())))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dgbmv"
  dgbmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> (IO ())))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_cgbmv"
  cgbmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zgbmv"
  zgbmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_strmv"
  strmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO ()))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dtrmv"
  dtrmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (IO ()))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ctrmv"
  ctrmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ztrmv"
  ztrmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_stbmv"
  stbmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dtbmv"
  dtbmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ctbmv"
  ctbmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ztbmv"
  ztbmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_stpmv"
  stpmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (BlasInt -> (IO ())))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dtpmv"
  dtpmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (BlasInt -> (IO ())))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ctpmv"
  ctpmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ztpmv"
  ztpmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_strsv"
  strsv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO ()))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dtrsv"
  dtrsv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (IO ()))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ctrsv"
  ctrsv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ztrsv"
  ztrsv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_stbsv"
  stbsv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dtbsv"
  dtbsv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ctbsv"
  ctbsv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ztbsv"
  ztbsv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_stpsv"
  stpsv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (BlasInt -> (IO ())))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dtpsv"
  dtpsv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (BlasInt -> (IO ())))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ctpsv"
  ctpsv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ztpsv"
  ztpsv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ssymv"
  ssymv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> (IO ()))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dsymv"
  dsymv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> (IO ()))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ssbmv"
  ssbmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> (IO ())))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dsbmv"
  dsbmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> (IO ())))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_sspmv"
  sspmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> ((Ptr CFloat) -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dspmv"
  dspmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> ((Ptr CDouble) -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_sger"
  sger'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dger"
  dger'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ssyr"
  ssyr'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO ())))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dsyr"
  dsyr'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (IO ())))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ssyr2"
  ssyr2'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dsyr2"
  dsyr2'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_sspr"
  sspr'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (IO ()))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dspr"
  dspr'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (IO ()))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_sspr2"
  sspr2'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (IO ()))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dspr2"
  dspr2'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (IO ()))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_chemv"
  chemv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zhemv"
  zhemv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_chbmv"
  chbmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zhbmv"
  zhbmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_chpmv"
  chpmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zhpmv"
  zhpmv'_ :: (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_cgeru"
  cgeru'_ :: (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zgeru"
  zgeru'_ :: (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_cgerc"
  cgerc'_ :: (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zgerc"
  zgerc'_ :: (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_cher"
  cher'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zher"
  zher'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_chpr"
  chpr'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (IO ()))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zhpr"
  zhpr'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (IO ()))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_cher2"
  cher2'_ :: (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zher2"
  zher2'_ :: (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_chpr2"
  chpr2'_ :: (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (IO ()))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zhpr2"
  zhpr2'_ :: (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (IO ()))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_sgemm"
  sgemm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> (IO ())))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dgemm"
  dgemm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> (IO ())))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_cgemm"
  cgemm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zgemm"
  zgemm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ssymm"
  ssymm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> (IO ()))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dsymm"
  dsymm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> (IO ()))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_csymm"
  csymm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zsymm"
  zsymm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ssyrk"
  ssyrk'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> (IO ()))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dsyrk"
  dsyrk'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> (IO ()))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_csyrk"
  csyrk'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zsyrk"
  zsyrk'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ssyr2k"
  ssyr2k'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> (IO ()))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dsyr2k"
  dsyr2k'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> (IO ()))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_csyr2k"
  csyr2k'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zsyr2k"
  zsyr2k'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_chemm"
  chemm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zhemm"
  zhemm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_cherk"
  cherk'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr ()) -> (BlasInt -> (CFloat -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zherk"
  zherk'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr ()) -> (BlasInt -> (CDouble -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_cher2k"
  cher2k'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (CFloat -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_zher2k"
  zher2k'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (CDouble -> ((Ptr ()) -> (BlasInt -> (IO ()))))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_strmm"
  strmm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO ())))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dtrmm"
  dtrmm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (IO ())))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ctrmm"
  ctrmm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ztrmm"
  ztrmm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_strsm"
  strsm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CFloat -> ((Ptr CFloat) -> (BlasInt -> ((Ptr CFloat) -> (BlasInt -> (IO ())))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_dtrsm"
  dtrsm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (CDouble -> ((Ptr CDouble) -> (BlasInt -> ((Ptr CDouble) -> (BlasInt -> (IO ())))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ctrsm"
  ctrsm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))))

foreign import ccall safe "src/Blas/Primitive/Safe_.chs.h cblas_ztrsm"
  ztrsm'_ :: (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> (BlasInt -> ((Ptr ()) -> ((Ptr ()) -> (BlasInt -> ((Ptr ()) -> (BlasInt -> (IO ())))))))))))))