-- GENERATED by C->Haskell Compiler, version 0.28.2 Switcheroo, 1 April 2016 (Haskell)
-- Edit the ORIGNAL .chs file instead!


{-# LINE 1 "./Foreign/CUDA/BLAS/Level2.chs" #-}
--
-- This module is auto-generated. Do not edit directly.
--

{-# LANGUAGE CPP #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
-- |
-- Module      : Foreign.CUDA.BLAS.Level2
-- Copyright   : [2017] Trevor L. McDonell
-- License     : BSD3
--
-- Maintainer  : Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>
-- Stability   : experimental
-- Portability : non-portable (GHC extensions)
--
-- For more information see the cuBLAS Level-2 function reference:
--
-- <http://docs.nvidia.com/cuda/cublas/index.html#cublas-level-2-function-reference>
--

module Foreign.CUDA.BLAS.Level2 (

  Operation(..),
  Fill(..),
  Diagonal(..),
  sgbmv,
  dgbmv,
  cgbmv,
  zgbmv,
  sgemv,
  dgemv,
  cgemv,
  zgemv,
  sger,
  dger,
  cgerc,
  zgerc,
  cgeru,
  zgeru,
  ssbmv,
  dsbmv,
  sspmv,
  dspmv,
  sspr,
  dspr,
  sspr2,
  dspr2,
  ssymv,
  dsymv,
  csymv,
  zsymv,
  ssyr,
  dsyr,
  csyr,
  zsyr,
  ssyr2,
  dsyr2,
  csyr2,
  zsyr2,
  stbmv,
  dtbmv,
  ctbmv,
  ztbmv,
  stbsv,
  dtbsv,
  ctbsv,
  ztbsv,
  stpmv,
  dtpmv,
  ctpmv,
  ztpmv,
  stpsv,
  dtpsv,
  ctpsv,
  ztpsv,
  strmv,
  dtrmv,
  ctrmv,
  ztrmv,
  strsv,
  dtrsv,
  ctrsv,
  ztrsv,
  chemv,
  zhemv,
  chbmv,
  zhbmv,
  chpmv,
  zhpmv,
  cher,
  zher,
  cher2,
  zher2,
  chpr,
  zhpr,
  chpr2,
  zhpr2,

) where
import qualified Foreign.C.Types as C2HSImp
import qualified Foreign.Ptr as C2HSImp



import Data.Complex
import Numeric.Half
import Foreign
import Foreign.C
import Foreign.Storable.Complex ()
import Foreign.CUDA.Ptr
import Foreign.CUDA.BLAS.Error
import Foreign.CUDA.BLAS.Internal.C2HS
import Foreign.CUDA.BLAS.Internal.Types



{-# LINE 114 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINE useDevP #-}
useDevP :: DevicePtr a -> Ptr b
useDevP = useDevicePtr . castDevPtr

{-# INLINE useHostP #-}
useHostP :: HostPtr a -> Ptr b
useHostP = useHostPtr . castHostPtr


{-# INLINEABLE sgbmv #-}
sgbmv :: (Handle) -> (Operation) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (Ptr Float) -> (DevicePtr Float) -> (Int) -> IO ((()))
sgbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castPtr a12} in 
  let {a13' = useDevP a13} in 
  let {a14' = fromIntegral a14} in 
  sgbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 126 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE dgbmv #-}
dgbmv :: (Handle) -> (Operation) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (Ptr Double) -> (DevicePtr Double) -> (Int) -> IO ((()))
dgbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castPtr a12} in 
  let {a13' = useDevP a13} in 
  let {a14' = fromIntegral a14} in 
  dgbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 129 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE cgbmv #-}
cgbmv :: (Handle) -> (Operation) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
cgbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castPtr a12} in 
  let {a13' = useDevP a13} in 
  let {a14' = fromIntegral a14} in 
  cgbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 132 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE zgbmv #-}
zgbmv :: (Handle) -> (Operation) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
zgbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castPtr a12} in 
  let {a13' = useDevP a13} in 
  let {a14' = fromIntegral a14} in 
  zgbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 135 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE sgemv #-}
sgemv :: (Handle) -> (Operation) -> (Int) -> (Int) -> (Ptr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (Ptr Float) -> (DevicePtr Float) -> (Int) -> IO ((()))
sgemv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castPtr a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castPtr a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  sgemv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 138 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE dgemv #-}
dgemv :: (Handle) -> (Operation) -> (Int) -> (Int) -> (Ptr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (Ptr Double) -> (DevicePtr Double) -> (Int) -> IO ((()))
dgemv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castPtr a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castPtr a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  dgemv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 141 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE cgemv #-}
cgemv :: (Handle) -> (Operation) -> (Int) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
cgemv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castPtr a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castPtr a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  cgemv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 144 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE zgemv #-}
zgemv :: (Handle) -> (Operation) -> (Int) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
zgemv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castPtr a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castPtr a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  zgemv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 147 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE sger #-}
sger :: (Handle) -> (Int) -> (Int) -> (Ptr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> IO ((()))
sger a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  sger'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 150 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE dger #-}
dger :: (Handle) -> (Int) -> (Int) -> (Ptr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> IO ((()))
dger a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  dger'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 153 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE cgerc #-}
cgerc :: (Handle) -> (Int) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
cgerc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  cgerc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 156 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE zgerc #-}
zgerc :: (Handle) -> (Int) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
zgerc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  zgerc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 159 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE cgeru #-}
cgeru :: (Handle) -> (Int) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
cgeru a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  cgeru'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 162 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE zgeru #-}
zgeru :: (Handle) -> (Int) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
zgeru a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  zgeru'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 165 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE ssbmv #-}
ssbmv :: (Handle) -> (Fill) -> (Int) -> (Int) -> (Ptr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (Ptr Float) -> (DevicePtr Float) -> (Int) -> IO ((()))
ssbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castPtr a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castPtr a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  ssbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 168 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE dsbmv #-}
dsbmv :: (Handle) -> (Fill) -> (Int) -> (Int) -> (Ptr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (Ptr Double) -> (DevicePtr Double) -> (Int) -> IO ((()))
dsbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castPtr a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castPtr a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  dsbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 171 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE sspmv #-}
sspmv :: (Handle) -> (Fill) -> (Int) -> (Ptr Float) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> (Ptr Float) -> (DevicePtr Float) -> (Int) -> IO ((()))
sspmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castPtr a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  sspmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 174 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE dspmv #-}
dspmv :: (Handle) -> (Fill) -> (Int) -> (Ptr Double) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> (Ptr Double) -> (DevicePtr Double) -> (Int) -> IO ((()))
dspmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castPtr a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  dspmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 177 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE sspr #-}
sspr :: (Handle) -> (Fill) -> (Int) -> (Ptr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> IO ((()))
sspr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  sspr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 180 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE dspr #-}
dspr :: (Handle) -> (Fill) -> (Int) -> (Ptr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> IO ((()))
dspr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  dspr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 183 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE sspr2 #-}
sspr2 :: (Handle) -> (Fill) -> (Int) -> (Ptr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> IO ((()))
sspr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  sspr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 186 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE dspr2 #-}
dspr2 :: (Handle) -> (Fill) -> (Int) -> (Ptr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> IO ((()))
dspr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  dspr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 189 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE ssymv #-}
ssymv :: (Handle) -> (Fill) -> (Int) -> (Ptr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (Ptr Float) -> (DevicePtr Float) -> (Int) -> IO ((()))
ssymv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  ssymv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 192 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE dsymv #-}
dsymv :: (Handle) -> (Fill) -> (Int) -> (Ptr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (Ptr Double) -> (DevicePtr Double) -> (Int) -> IO ((()))
dsymv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  dsymv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 195 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE csymv #-}
csymv :: (Handle) -> (Fill) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
csymv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  csymv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 198 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE zsymv #-}
zsymv :: (Handle) -> (Fill) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
zsymv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  zsymv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 201 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE ssyr #-}
ssyr :: (Handle) -> (Fill) -> (Int) -> (Ptr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> IO ((()))
ssyr a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  ssyr'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 204 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE dsyr #-}
dsyr :: (Handle) -> (Fill) -> (Int) -> (Ptr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> IO ((()))
dsyr a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  dsyr'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 207 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE csyr #-}
csyr :: (Handle) -> (Fill) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
csyr a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  csyr'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 210 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE zsyr #-}
zsyr :: (Handle) -> (Fill) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
zsyr a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  zsyr'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 213 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE ssyr2 #-}
ssyr2 :: (Handle) -> (Fill) -> (Int) -> (Ptr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> IO ((()))
ssyr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  ssyr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 216 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE dsyr2 #-}
dsyr2 :: (Handle) -> (Fill) -> (Int) -> (Ptr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> IO ((()))
dsyr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  dsyr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 219 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE csyr2 #-}
csyr2 :: (Handle) -> (Fill) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
csyr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  csyr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 222 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE zsyr2 #-}
zsyr2 :: (Handle) -> (Fill) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
zsyr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  zsyr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 225 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE stbmv #-}
stbmv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> IO ((()))
stbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  stbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 228 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE dtbmv #-}
dtbmv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> IO ((()))
dtbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  dtbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 231 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE ctbmv #-}
ctbmv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
ctbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  ctbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 234 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE ztbmv #-}
ztbmv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
ztbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  ztbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 237 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE stbsv #-}
stbsv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> IO ((()))
stbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  stbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 240 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE dtbsv #-}
dtbsv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> IO ((()))
dtbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  dtbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 243 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE ctbsv #-}
ctbsv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
ctbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  ctbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 246 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE ztbsv #-}
ztbsv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
ztbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  ztbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 249 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE stpmv #-}
stpmv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> IO ((()))
stpmv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  stpmv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 252 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE dtpmv #-}
dtpmv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> IO ((()))
dtpmv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  dtpmv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 255 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE ctpmv #-}
ctpmv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
ctpmv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  ctpmv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 258 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE ztpmv #-}
ztpmv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
ztpmv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  ztpmv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 261 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE stpsv #-}
stpsv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> IO ((()))
stpsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  stpsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 264 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE dtpsv #-}
dtpsv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> IO ((()))
dtpsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  dtpsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 267 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE ctpsv #-}
ctpsv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
ctpsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  ctpsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 270 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE ztpsv #-}
ztpsv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
ztpsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  ztpsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 273 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE strmv #-}
strmv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> IO ((()))
strmv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  strmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 276 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE dtrmv #-}
dtrmv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> IO ((()))
dtrmv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  dtrmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 279 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE ctrmv #-}
ctrmv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
ctrmv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  ctrmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 282 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE ztrmv #-}
ztrmv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
ztrmv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  ztrmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 285 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE strsv #-}
strsv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> IO ((()))
strsv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  strsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 288 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE dtrsv #-}
dtrsv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> IO ((()))
dtrsv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  dtrsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 291 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE ctrsv #-}
ctrsv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
ctrsv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  ctrsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 294 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE ztrsv #-}
ztrsv :: (Handle) -> (Fill) -> (Operation) -> (Diagonal) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
ztrsv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  ztrsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 297 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE chemv #-}
chemv :: (Handle) -> (Fill) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
chemv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  chemv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 300 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE zhemv #-}
zhemv :: (Handle) -> (Fill) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
zhemv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  zhemv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 303 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE chbmv #-}
chbmv :: (Handle) -> (Fill) -> (Int) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
chbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castPtr a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castPtr a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  chbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 306 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE zhbmv #-}
zhbmv :: (Handle) -> (Fill) -> (Int) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
zhbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castPtr a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castPtr a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  zhbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 309 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE chpmv #-}
chpmv :: (Handle) -> (Fill) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
chpmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castPtr a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  chpmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 312 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE zhpmv #-}
zhpmv :: (Handle) -> (Fill) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
zhpmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castPtr a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  zhpmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 315 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE cher #-}
cher :: (Handle) -> (Fill) -> (Int) -> (Ptr Float) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
cher a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  cher'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 318 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE zher #-}
zher :: (Handle) -> (Fill) -> (Int) -> (Ptr Double) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
zher a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  zher'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 321 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE cher2 #-}
cher2 :: (Handle) -> (Fill) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((()))
cher2 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  cher2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 324 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE zher2 #-}
zher2 :: (Handle) -> (Fill) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((()))
zher2 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  zher2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 327 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE chpr #-}
chpr :: (Handle) -> (Fill) -> (Int) -> (Ptr Float) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> IO ((()))
chpr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  chpr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 330 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE zhpr #-}
zhpr :: (Handle) -> (Fill) -> (Int) -> (Ptr Double) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> IO ((()))
zhpr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  zhpr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 333 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE chpr2 #-}
chpr2 :: (Handle) -> (Fill) -> (Int) -> (Ptr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> IO ((()))
chpr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  chpr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 336 "./Foreign/CUDA/BLAS/Level2.chs" #-}


{-# INLINEABLE zhpr2 #-}
zhpr2 :: (Handle) -> (Fill) -> (Int) -> (Ptr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> IO ((()))
zhpr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castPtr a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  zhpr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >>= \res' ->
  return (res')

{-# LINE 339 "./Foreign/CUDA/BLAS/Level2.chs" #-}


foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasSgbmv_v2"
  sgbmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasDgbmv_v2"
  dgbmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasCgbmv_v2"
  cgbmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZgbmv_v2"
  zgbmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasSgemv_v2"
  sgemv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasDgemv_v2"
  dgemv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasCgemv_v2"
  cgemv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZgemv_v2"
  zgemv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasSger_v2"
  sger'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasDger_v2"
  dger'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasCgerc_v2"
  cgerc'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZgerc_v2"
  zgerc'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasCgeru_v2"
  cgeru'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZgeru_v2"
  zgeru'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasSsbmv_v2"
  ssbmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasDsbmv_v2"
  dsbmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasSspmv_v2"
  sspmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasDspmv_v2"
  dspmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasSspr_v2"
  sspr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (IO C2HSImp.CInt))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasDspr_v2"
  dspr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (IO C2HSImp.CInt))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasSspr2_v2"
  sspr2'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasDspr2_v2"
  dspr2'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasSsymv_v2"
  ssymv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasDsymv_v2"
  dsymv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasCsymv_v2"
  csymv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZsymv_v2"
  zsymv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasSsyr_v2"
  ssyr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasDsyr_v2"
  dsyr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasCsyr_v2"
  csyr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZsyr_v2"
  zsyr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasSsyr2_v2"
  ssyr2'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasDsyr2_v2"
  dsyr2'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasCsyr2_v2"
  csyr2'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZsyr2_v2"
  zsyr2'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasStbmv_v2"
  stbmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasDtbmv_v2"
  dtbmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasCtbmv_v2"
  ctbmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZtbmv_v2"
  ztbmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasStbsv_v2"
  stbsv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasDtbsv_v2"
  dtbsv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasCtbsv_v2"
  ctbsv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZtbsv_v2"
  ztbsv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasStpmv_v2"
  stpmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasDtpmv_v2"
  dtpmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasCtpmv_v2"
  ctpmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZtpmv_v2"
  ztpmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasStpsv_v2"
  stpsv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasDtpsv_v2"
  dtpsv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasCtpsv_v2"
  ctpsv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZtpsv_v2"
  ztpsv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasStrmv_v2"
  strmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasDtrmv_v2"
  dtrmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasCtrmv_v2"
  ctrmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZtrmv_v2"
  ztrmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasStrsv_v2"
  strsv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasDtrsv_v2"
  dtrsv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasCtrsv_v2"
  ctrsv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZtrsv_v2"
  ztrsv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasChemv_v2"
  chemv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZhemv_v2"
  zhemv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasChbmv_v2"
  chbmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZhbmv_v2"
  zhbmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasChpmv_v2"
  chpmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZhpmv_v2"
  zhpmv'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasCher_v2"
  cher'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZher_v2"
  zher'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasCher2_v2"
  cher2'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZher2_v2"
  zher2'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasChpr_v2"
  chpr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZhpr_v2"
  zhpr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasChpr2_v2"
  chpr2'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/BLAS/Level2.chs.h cublasZhpr2_v2"
  zhpr2'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))))))))))