-- GENERATED by C->Haskell Compiler, version 0.28.6 Switcheroo, 25 November 2017 (Haskell)
-- Edit the ORIGNAL .chs file instead!


{-# LINE 1 "./Foreign/CUDA/Solver/Dense/Eigenvalue.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.Solver.Dense.Eigenvalue
-- 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 cuSolver function reference:
--
-- <http://docs.nvidia.com/cuda/cusolver/index.html#cuds-eigensolver-reference>
--

module Foreign.CUDA.Solver.Dense.Eigenvalue (

  Handle,
  Fill(..),
  Side(..),
  Operation(..),
  EigMode(..),
  EigType(..),
  EigRange(..),
  Info_gesvdj,
  Info_syevj,
  sgebrd_bufferSize,
  dgebrd_bufferSize,
  cgebrd_bufferSize,
  zgebrd_bufferSize,
  sgebrd,
  dgebrd,
  cgebrd,
  zgebrd,
  sgesvd_bufferSize,
  dgesvd_bufferSize,
  cgesvd_bufferSize,
  zgesvd_bufferSize,
  sgesvd,
  dgesvd,
  cgesvd,
  zgesvd,
  sorgbr_bufferSize,
  dorgbr_bufferSize,
  cungbr_bufferSize,
  zungbr_bufferSize,
  sorgbr,
  dorgbr,
  cungbr,
  zungbr,
  ssytrd_bufferSize,
  dsytrd_bufferSize,
  chetrd_bufferSize,
  zhetrd_bufferSize,
  ssytrd,
  dsytrd,
  chetrd,
  zhetrd,
  sormtr_bufferSize,
  dormtr_bufferSize,
  cunmtr_bufferSize,
  zunmtr_bufferSize,
  sormtr,
  dormtr,
  cunmtr,
  zunmtr,
  sorgtr_bufferSize,
  dorgtr_bufferSize,
  cungtr_bufferSize,
  zungtr_bufferSize,
  sorgtr,
  dorgtr,
  cungtr,
  zungtr,
  ssyevd_bufferSize,
  dsyevd_bufferSize,
  cheevd_bufferSize,
  zheevd_bufferSize,
  ssyevd,
  dsyevd,
  cheevd,
  zheevd,
  ssygvd_bufferSize,
  dsygvd_bufferSize,
  chegvd_bufferSize,
  zhegvd_bufferSize,
  ssygvd,
  dsygvd,
  chegvd,
  zhegvd,
  sgesvdj_bufferSize,
  dgesvdj_bufferSize,
  cgesvdj_bufferSize,
  zgesvdj_bufferSize,
  sgesvdj,
  dgesvdj,
  cgesvdj,
  zgesvdj,
  sgesvdjBatched_bufferSize,
  dgesvdjBatched_bufferSize,
  cgesvdjBatched_bufferSize,
  zgesvdjBatched_bufferSize,
  sgesvdjBatched,
  dgesvdjBatched,
  cgesvdjBatched,
  zgesvdjBatched,
  ssyevj_bufferSize,
  dsyevj_bufferSize,
  ssyevj,
  dsyevj,
  cheevj_bufferSize,
  zheevj_bufferSize,
  cheevj,
  zheevj,
  ssyevjBatched_bufferSize,
  dsyevjBatched_bufferSize,
  ssyevjBatched,
  dsyevjBatched,
  cheevjBatched_bufferSize,
  zheevjBatched_bufferSize,
  cheevjBatched,
  zheevjBatched,
  ssygvj_bufferSize,
  dsygvj_bufferSize,
  ssygvj,
  dsygvj,
  chegvj_bufferSize,
  zhegvj_bufferSize,
  chegvj,
  zhegvj,
  sgesvdaStridedBatched,
  dgesvdaStridedBatched,
  cgesvdaStridedBatched,
  zgesvdaStridedBatched,
  sgesvdaStridedBatched_bufferSize,
  dgesvdaStridedBatched_bufferSize,
  cgesvdaStridedBatched_bufferSize,
  zgesvdaStridedBatched_bufferSize,
  ssyevdx,
  dsyevdx,
  ssyevdx_bufferSize,
  dsyevdx_bufferSize,
  cheevdx,
  zheevdx,
  cheevdx_bufferSize,
  zheevdx_bufferSize,
  ssygvdx,
  dsygvdx,
  ssygvdx_bufferSize,
  dsygvdx_bufferSize,
  chegvdx,
  zhegvdx,
  chegvdx_bufferSize,
  zhegvdx_bufferSize,

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



import Data.Complex
import Foreign
import Foreign.C
import Foreign.Storable.Complex ()
import Foreign.CUDA.Ptr
import Foreign.CUDA.Solver.Dense.Context
import Foreign.CUDA.Solver.Dense.Analysis
import Foreign.CUDA.Solver.Error
import Foreign.CUDA.Solver.Internal.C2HS
import Foreign.CUDA.Solver.Internal.Types



{-# LINE 177 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

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


{-# INLINEABLE sgebrd_bufferSize #-}
sgebrd_bufferSize :: (Handle) -> (Int) -> (Int) -> IO ((Int))
sgebrd_bufferSize a1 a2 a3 =
  let {a1' = useHandle a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  alloca $ \a4' -> 
  sgebrd_bufferSize'_ a1' a2' a3' a4' >>= \res ->
  checkStatus res >> 
  peekIntConv  a4'>>= \a4'' -> 
  return (a4'')

{-# LINE 189 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dgebrd_bufferSize #-}
dgebrd_bufferSize :: (Handle) -> (Int) -> (Int) -> IO ((Int))
dgebrd_bufferSize a1 a2 a3 =
  let {a1' = useHandle a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  alloca $ \a4' -> 
  dgebrd_bufferSize'_ a1' a2' a3' a4' >>= \res ->
  checkStatus res >> 
  peekIntConv  a4'>>= \a4'' -> 
  return (a4'')

{-# LINE 192 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cgebrd_bufferSize #-}
cgebrd_bufferSize :: (Handle) -> (Int) -> (Int) -> IO ((Int))
cgebrd_bufferSize a1 a2 a3 =
  let {a1' = useHandle a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  alloca $ \a4' -> 
  cgebrd_bufferSize'_ a1' a2' a3' a4' >>= \res ->
  checkStatus res >> 
  peekIntConv  a4'>>= \a4'' -> 
  return (a4'')

{-# LINE 195 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zgebrd_bufferSize #-}
zgebrd_bufferSize :: (Handle) -> (Int) -> (Int) -> IO ((Int))
zgebrd_bufferSize a1 a2 a3 =
  let {a1' = useHandle a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  alloca $ \a4' -> 
  zgebrd_bufferSize'_ a1' a2' a3' a4' >>= \res ->
  checkStatus res >> 
  peekIntConv  a4'>>= \a4'' -> 
  return (a4'')

{-# LINE 198 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 201 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 204 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 207 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 210 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE sgesvd_bufferSize #-}
sgesvd_bufferSize :: (Handle) -> (Int) -> (Int) -> IO ((Int))
sgesvd_bufferSize a1 a2 a3 =
  let {a1' = useHandle a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  alloca $ \a4' -> 
  sgesvd_bufferSize'_ a1' a2' a3' a4' >>= \res ->
  checkStatus res >> 
  peekIntConv  a4'>>= \a4'' -> 
  return (a4'')

{-# LINE 213 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dgesvd_bufferSize #-}
dgesvd_bufferSize :: (Handle) -> (Int) -> (Int) -> IO ((Int))
dgesvd_bufferSize a1 a2 a3 =
  let {a1' = useHandle a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  alloca $ \a4' -> 
  dgesvd_bufferSize'_ a1' a2' a3' a4' >>= \res ->
  checkStatus res >> 
  peekIntConv  a4'>>= \a4'' -> 
  return (a4'')

{-# LINE 216 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cgesvd_bufferSize #-}
cgesvd_bufferSize :: (Handle) -> (Int) -> (Int) -> IO ((Int))
cgesvd_bufferSize a1 a2 a3 =
  let {a1' = useHandle a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  alloca $ \a4' -> 
  cgesvd_bufferSize'_ a1' a2' a3' a4' >>= \res ->
  checkStatus res >> 
  peekIntConv  a4'>>= \a4'' -> 
  return (a4'')

{-# LINE 219 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zgesvd_bufferSize #-}
zgesvd_bufferSize :: (Handle) -> (Int) -> (Int) -> IO ((Int))
zgesvd_bufferSize a1 a2 a3 =
  let {a1' = useHandle a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  alloca $ \a4' -> 
  zgesvd_bufferSize'_ a1' a2' a3' a4' >>= \res ->
  checkStatus res >> 
  peekIntConv  a4'>>= \a4'' -> 
  return (a4'')

{-# LINE 222 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE sgesvd #-}
sgesvd :: (Handle) -> (Char) -> (Char) -> (Int) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (DevicePtr Int32) -> IO ()
sgesvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = useHandle a1} in 
  let {a2' = C2HSImp.castCharToCSChar a2} in 
  let {a3' = C2HSImp.castCharToCSChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = useDevP a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = useDevP a15} in 
  let {a16' = useDevP a16} in 
  sgesvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 225 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dgesvd #-}
dgesvd :: (Handle) -> (Char) -> (Char) -> (Int) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (DevicePtr Int32) -> IO ()
dgesvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = useHandle a1} in 
  let {a2' = C2HSImp.castCharToCSChar a2} in 
  let {a3' = C2HSImp.castCharToCSChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = useDevP a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = useDevP a15} in 
  let {a16' = useDevP a16} in 
  dgesvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 228 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cgesvd #-}
cgesvd :: (Handle) -> (Char) -> (Char) -> (Int) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (DevicePtr Int32) -> IO ()
cgesvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = useHandle a1} in 
  let {a2' = C2HSImp.castCharToCSChar a2} in 
  let {a3' = C2HSImp.castCharToCSChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = useDevP a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = useDevP a15} in 
  let {a16' = useDevP a16} in 
  cgesvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 231 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zgesvd #-}
zgesvd :: (Handle) -> (Char) -> (Char) -> (Int) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (DevicePtr Int32) -> IO ()
zgesvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = useHandle a1} in 
  let {a2' = C2HSImp.castCharToCSChar a2} in 
  let {a3' = C2HSImp.castCharToCSChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = useDevP a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = useDevP a15} in 
  let {a16' = useDevP a16} in 
  zgesvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 235 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE sorgbr_bufferSize #-}
sorgbr_bufferSize :: (Handle) -> (Side) -> (Int) -> (Int) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> IO ((Int))
sorgbr_bufferSize 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' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  alloca $ \a9' -> 
  sorgbr_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >> 
  peekIntConv  a9'>>= \a9'' -> 
  return (a9'')

{-# LINE 238 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dorgbr_bufferSize #-}
dorgbr_bufferSize :: (Handle) -> (Side) -> (Int) -> (Int) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> IO ((Int))
dorgbr_bufferSize 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' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  alloca $ \a9' -> 
  dorgbr_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >> 
  peekIntConv  a9'>>= \a9'' -> 
  return (a9'')

{-# LINE 241 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cungbr_bufferSize #-}
cungbr_bufferSize :: (Handle) -> (Side) -> (Int) -> (Int) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> IO ((Int))
cungbr_bufferSize 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' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  alloca $ \a9' -> 
  cungbr_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >> 
  peekIntConv  a9'>>= \a9'' -> 
  return (a9'')

{-# LINE 244 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zungbr_bufferSize #-}
zungbr_bufferSize :: (Handle) -> (Side) -> (Int) -> (Int) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> IO ((Int))
zungbr_bufferSize 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' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  alloca $ \a9' -> 
  zungbr_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >> 
  peekIntConv  a9'>>= \a9'' -> 
  return (a9'')

{-# LINE 247 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE sorgbr #-}
sorgbr :: (Handle) -> (Side) -> (Int) -> (Int) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Int32) -> IO ()
sorgbr 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' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  sorgbr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 250 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dorgbr #-}
dorgbr :: (Handle) -> (Side) -> (Int) -> (Int) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Int32) -> IO ()
dorgbr 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' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  dorgbr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 253 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cungbr #-}
cungbr :: (Handle) -> (Side) -> (Int) -> (Int) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr Int32) -> IO ()
cungbr 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' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  cungbr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 256 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zungbr #-}
zungbr :: (Handle) -> (Side) -> (Int) -> (Int) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr Int32) -> IO ()
zungbr 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' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  zungbr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 259 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE ssytrd_bufferSize #-}
ssytrd_bufferSize :: (Handle) -> (Fill) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (DevicePtr Float) -> IO ((Int))
ssytrd_bufferSize 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' = useDevP a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  alloca $ \a9' -> 
  ssytrd_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >> 
  peekIntConv  a9'>>= \a9'' -> 
  return (a9'')

{-# LINE 262 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dsytrd_bufferSize #-}
dsytrd_bufferSize :: (Handle) -> (Fill) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (DevicePtr Double) -> IO ((Int))
dsytrd_bufferSize 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' = useDevP a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  alloca $ \a9' -> 
  dsytrd_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >> 
  peekIntConv  a9'>>= \a9'' -> 
  return (a9'')

{-# LINE 265 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE chetrd_bufferSize #-}
chetrd_bufferSize :: (Handle) -> (Fill) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> IO ((Int))
chetrd_bufferSize 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' = useDevP a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  alloca $ \a9' -> 
  chetrd_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >> 
  peekIntConv  a9'>>= \a9'' -> 
  return (a9'')

{-# LINE 268 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zhetrd_bufferSize #-}
zhetrd_bufferSize :: (Handle) -> (Fill) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> IO ((Int))
zhetrd_bufferSize 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' = useDevP a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  alloca $ \a9' -> 
  zhetrd_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >> 
  peekIntConv  a9'>>= \a9'' -> 
  return (a9'')

{-# LINE 271 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE ssytrd #-}
ssytrd :: (Handle) -> (Fill) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Int32) -> IO ()
ssytrd 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' = useDevP a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  ssytrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 274 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dsytrd #-}
dsytrd :: (Handle) -> (Fill) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Int32) -> IO ()
dsytrd 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' = useDevP a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  dsytrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 277 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE chetrd #-}
chetrd :: (Handle) -> (Fill) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr Int32) -> IO ()
chetrd 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' = useDevP a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  chetrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 280 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zhetrd #-}
zhetrd :: (Handle) -> (Fill) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr Int32) -> IO ()
zhetrd 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' = useDevP a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  zhetrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 283 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE sormtr_bufferSize #-}
sormtr_bufferSize :: (Handle) -> (Side) -> (Fill) -> (Operation) -> (Int) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> IO ((Int))
sormtr_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  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' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  alloca $ \a12' -> 
  sormtr_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  checkStatus res >> 
  peekIntConv  a12'>>= \a12'' -> 
  return (a12'')

{-# LINE 286 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dormtr_bufferSize #-}
dormtr_bufferSize :: (Handle) -> (Side) -> (Fill) -> (Operation) -> (Int) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> IO ((Int))
dormtr_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  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' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  alloca $ \a12' -> 
  dormtr_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  checkStatus res >> 
  peekIntConv  a12'>>= \a12'' -> 
  return (a12'')

{-# LINE 289 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cunmtr_bufferSize #-}
cunmtr_bufferSize :: (Handle) -> (Side) -> (Fill) -> (Operation) -> (Int) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> IO ((Int))
cunmtr_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  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' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  alloca $ \a12' -> 
  cunmtr_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  checkStatus res >> 
  peekIntConv  a12'>>= \a12'' -> 
  return (a12'')

{-# LINE 292 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zunmtr_bufferSize #-}
zunmtr_bufferSize :: (Handle) -> (Side) -> (Fill) -> (Operation) -> (Int) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> IO ((Int))
zunmtr_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  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' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  alloca $ \a12' -> 
  zunmtr_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  checkStatus res >> 
  peekIntConv  a12'>>= \a12'' -> 
  return (a12'')

{-# LINE 295 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE sormtr #-}
sormtr :: (Handle) -> (Side) -> (Fill) -> (Operation) -> (Int) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Int32) -> IO ()
sormtr 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' = 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' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = useDevP a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = useDevP a14} in 
  sormtr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 298 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dormtr #-}
dormtr :: (Handle) -> (Side) -> (Fill) -> (Operation) -> (Int) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Int32) -> IO ()
dormtr 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' = 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' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = useDevP a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = useDevP a14} in 
  dormtr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 301 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cunmtr #-}
cunmtr :: (Handle) -> (Side) -> (Fill) -> (Operation) -> (Int) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr Int32) -> IO ()
cunmtr 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' = 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' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = useDevP a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = useDevP a14} in 
  cunmtr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 304 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zunmtr #-}
zunmtr :: (Handle) -> (Side) -> (Fill) -> (Operation) -> (Int) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr Int32) -> IO ()
zunmtr 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' = 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' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = useDevP a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = useDevP a14} in 
  zunmtr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 307 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 310 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 313 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 316 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 319 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE sorgtr #-}
sorgtr :: (Handle) -> (Fill) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Int32) -> IO ()
sorgtr 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' = useDevP a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  sorgtr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 322 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dorgtr #-}
dorgtr :: (Handle) -> (Fill) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Int32) -> IO ()
dorgtr 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' = useDevP a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  dorgtr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 325 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cungtr #-}
cungtr :: (Handle) -> (Fill) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr Int32) -> IO ()
cungtr 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' = useDevP a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  cungtr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 328 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zungtr #-}
zungtr :: (Handle) -> (Fill) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr Int32) -> IO ()
zungtr 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' = useDevP a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = useDevP a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  zungtr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 331 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 334 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 337 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 340 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 343 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE ssyevd #-}
ssyevd :: (Handle) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Int32) -> IO ()
ssyevd 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' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  ssyevd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 346 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dsyevd #-}
dsyevd :: (Handle) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Int32) -> IO ()
dsyevd 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' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  dsyevd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 349 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cheevd #-}
cheevd :: (Handle) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr Int32) -> IO ()
cheevd 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' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  cheevd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 352 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zheevd #-}
zheevd :: (Handle) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr Int32) -> IO ()
zheevd 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' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  zheevd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 355 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE ssygvd_bufferSize #-}
ssygvd_bufferSize :: (Handle) -> (EigType) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> IO ((Int))
ssygvd_bufferSize 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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  alloca $ \a11' -> 
  ssygvd_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >> 
  peekIntConv  a11'>>= \a11'' -> 
  return (a11'')

{-# LINE 358 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dsygvd_bufferSize #-}
dsygvd_bufferSize :: (Handle) -> (EigType) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> IO ((Int))
dsygvd_bufferSize 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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  alloca $ \a11' -> 
  dsygvd_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >> 
  peekIntConv  a11'>>= \a11'' -> 
  return (a11'')

{-# LINE 361 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE chegvd_bufferSize #-}
chegvd_bufferSize :: (Handle) -> (EigType) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> IO ((Int))
chegvd_bufferSize 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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  alloca $ \a11' -> 
  chegvd_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >> 
  peekIntConv  a11'>>= \a11'' -> 
  return (a11'')

{-# LINE 364 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zhegvd_bufferSize #-}
zhegvd_bufferSize :: (Handle) -> (EigType) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> IO ((Int))
zhegvd_bufferSize 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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  alloca $ \a11' -> 
  zhegvd_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  checkStatus res >> 
  peekIntConv  a11'>>= \a11'' -> 
  return (a11'')

{-# LINE 367 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE ssygvd #-}
ssygvd :: (Handle) -> (EigType) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Int32) -> IO ()
ssygvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  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 
  let {a10' = useDevP a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = useDevP a13} in 
  ssygvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 370 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dsygvd #-}
dsygvd :: (Handle) -> (EigType) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Int32) -> IO ()
dsygvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  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 
  let {a10' = useDevP a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = useDevP a13} in 
  dsygvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 373 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE chegvd #-}
chegvd :: (Handle) -> (EigType) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr Int32) -> IO ()
chegvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  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 
  let {a10' = useDevP a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = useDevP a13} in 
  chegvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 376 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zhegvd #-}
zhegvd :: (Handle) -> (EigType) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr Int32) -> IO ()
zhegvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  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 
  let {a10' = useDevP a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = useDevP a13} in 
  zhegvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 526 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE sgesvdj_bufferSize #-}
sgesvdj_bufferSize :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (Info_gesvdj) -> IO ((Int))
sgesvdj_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  alloca $ \a13' -> 
  let {a14' = useInfo_gesvdj a14} in 
  sgesvdj_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  peekIntConv  a13'>>= \a13'' -> 
  return (a13'')

{-# LINE 529 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dgesvdj_bufferSize #-}
dgesvdj_bufferSize :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (Info_gesvdj) -> IO ((Int))
dgesvdj_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  alloca $ \a13' -> 
  let {a14' = useInfo_gesvdj a14} in 
  dgesvdj_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  peekIntConv  a13'>>= \a13'' -> 
  return (a13'')

{-# LINE 532 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cgesvdj_bufferSize #-}
cgesvdj_bufferSize :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (Info_gesvdj) -> IO ((Int))
cgesvdj_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  alloca $ \a13' -> 
  let {a14' = useInfo_gesvdj a14} in 
  cgesvdj_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  peekIntConv  a13'>>= \a13'' -> 
  return (a13'')

{-# LINE 535 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zgesvdj_bufferSize #-}
zgesvdj_bufferSize :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (Info_gesvdj) -> IO ((Int))
zgesvdj_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  alloca $ \a13' -> 
  let {a14' = useInfo_gesvdj a14} in 
  zgesvdj_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  peekIntConv  a13'>>= \a13'' -> 
  return (a13'')

{-# LINE 538 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE sgesvdj #-}
sgesvdj :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Int32) -> (Info_gesvdj) -> IO ()
sgesvdj a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = useDevP a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = useDevP a15} in 
  let {a16' = useInfo_gesvdj a16} in 
  sgesvdj'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 541 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dgesvdj #-}
dgesvdj :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Int32) -> (Info_gesvdj) -> IO ()
dgesvdj a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = useDevP a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = useDevP a15} in 
  let {a16' = useInfo_gesvdj a16} in 
  dgesvdj'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 544 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cgesvdj #-}
cgesvdj :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr Int32) -> (Info_gesvdj) -> IO ()
cgesvdj a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = useDevP a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = useDevP a15} in 
  let {a16' = useInfo_gesvdj a16} in 
  cgesvdj'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 547 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zgesvdj #-}
zgesvdj :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr Int32) -> (Info_gesvdj) -> IO ()
zgesvdj a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = useDevP a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = useDevP a15} in 
  let {a16' = useInfo_gesvdj a16} in 
  zgesvdj'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 550 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE sgesvdjBatched_bufferSize #-}
sgesvdjBatched_bufferSize :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (Info_gesvdj) -> (Int) -> IO ((Int))
sgesvdjBatched_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a13 a14 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  alloca $ \a12' -> 
  let {a13' = useInfo_gesvdj a13} in 
  let {a14' = fromIntegral a14} in 
  sgesvdjBatched_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  peekIntConv  a12'>>= \a12'' -> 
  return (a12'')

{-# LINE 553 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dgesvdjBatched_bufferSize #-}
dgesvdjBatched_bufferSize :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (Info_gesvdj) -> (Int) -> IO ((Int))
dgesvdjBatched_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a13 a14 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  alloca $ \a12' -> 
  let {a13' = useInfo_gesvdj a13} in 
  let {a14' = fromIntegral a14} in 
  dgesvdjBatched_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  peekIntConv  a12'>>= \a12'' -> 
  return (a12'')

{-# LINE 556 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cgesvdjBatched_bufferSize #-}
cgesvdjBatched_bufferSize :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (Info_gesvdj) -> (Int) -> IO ((Int))
cgesvdjBatched_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a13 a14 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  alloca $ \a12' -> 
  let {a13' = useInfo_gesvdj a13} in 
  let {a14' = fromIntegral a14} in 
  cgesvdjBatched_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  peekIntConv  a12'>>= \a12'' -> 
  return (a12'')

{-# LINE 559 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zgesvdjBatched_bufferSize #-}
zgesvdjBatched_bufferSize :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (Info_gesvdj) -> (Int) -> IO ((Int))
zgesvdjBatched_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a13 a14 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  alloca $ \a12' -> 
  let {a13' = useInfo_gesvdj a13} in 
  let {a14' = fromIntegral a14} in 
  zgesvdjBatched_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  peekIntConv  a12'>>= \a12'' -> 
  return (a12'')

{-# LINE 562 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE sgesvdjBatched #-}
sgesvdjBatched :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Int32) -> (Info_gesvdj) -> (Int) -> IO ()
sgesvdjBatched a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = useDevP a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = useDevP a14} in 
  let {a15' = useInfo_gesvdj a15} in 
  let {a16' = fromIntegral a16} in 
  sgesvdjBatched'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 565 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dgesvdjBatched #-}
dgesvdjBatched :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Int32) -> (Info_gesvdj) -> (Int) -> IO ()
dgesvdjBatched a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = useDevP a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = useDevP a14} in 
  let {a15' = useInfo_gesvdj a15} in 
  let {a16' = fromIntegral a16} in 
  dgesvdjBatched'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 568 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cgesvdjBatched #-}
cgesvdjBatched :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr Int32) -> (Info_gesvdj) -> (Int) -> IO ()
cgesvdjBatched a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = useDevP a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = useDevP a14} in 
  let {a15' = useInfo_gesvdj a15} in 
  let {a16' = fromIntegral a16} in 
  cgesvdjBatched'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 571 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zgesvdjBatched #-}
zgesvdjBatched :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr Int32) -> (Info_gesvdj) -> (Int) -> IO ()
zgesvdjBatched a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  let {a8' = useDevP a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = useDevP a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = useDevP a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = useDevP a14} in 
  let {a15' = useInfo_gesvdj a15} in 
  let {a16' = fromIntegral a16} in 
  zgesvdjBatched'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 574 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE ssyevj_bufferSize #-}
ssyevj_bufferSize :: (Handle) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Info_syevj) -> IO ((Int))
ssyevj_bufferSize a1 a2 a3 a4 a5 a6 a7 a9 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  alloca $ \a8' -> 
  let {a9' = useInfo_syevj a9} in 
  ssyevj_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >> 
  peekIntConv  a8'>>= \a8'' -> 
  return (a8'')

{-# LINE 577 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dsyevj_bufferSize #-}
dsyevj_bufferSize :: (Handle) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Info_syevj) -> IO ((Int))
dsyevj_bufferSize a1 a2 a3 a4 a5 a6 a7 a9 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  alloca $ \a8' -> 
  let {a9' = useInfo_syevj a9} in 
  dsyevj_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >> 
  peekIntConv  a8'>>= \a8'' -> 
  return (a8'')

{-# LINE 580 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 583 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 586 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cheevj_bufferSize #-}
cheevj_bufferSize :: (Handle) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Info_syevj) -> IO ((Int))
cheevj_bufferSize a1 a2 a3 a4 a5 a6 a7 a9 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  alloca $ \a8' -> 
  let {a9' = useInfo_syevj a9} in 
  cheevj_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >> 
  peekIntConv  a8'>>= \a8'' -> 
  return (a8'')

{-# LINE 589 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zheevj_bufferSize #-}
zheevj_bufferSize :: (Handle) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Info_syevj) -> IO ((Int))
zheevj_bufferSize a1 a2 a3 a4 a5 a6 a7 a9 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  alloca $ \a8' -> 
  let {a9' = useInfo_syevj a9} in 
  zheevj_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  checkStatus res >> 
  peekIntConv  a8'>>= \a8'' -> 
  return (a8'')

{-# LINE 592 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 595 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 598 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE ssyevjBatched_bufferSize #-}
ssyevjBatched_bufferSize :: (Handle) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Info_syevj) -> (Int) -> IO ((Int))
ssyevjBatched_bufferSize a1 a2 a3 a4 a5 a6 a7 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  alloca $ \a8' -> 
  let {a9' = useInfo_syevj a9} in 
  let {a10' = fromIntegral a10} in 
  ssyevjBatched_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >> 
  peekIntConv  a8'>>= \a8'' -> 
  return (a8'')

{-# LINE 601 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dsyevjBatched_bufferSize #-}
dsyevjBatched_bufferSize :: (Handle) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Info_syevj) -> (Int) -> IO ((Int))
dsyevjBatched_bufferSize a1 a2 a3 a4 a5 a6 a7 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  alloca $ \a8' -> 
  let {a9' = useInfo_syevj a9} in 
  let {a10' = fromIntegral a10} in 
  dsyevjBatched_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >> 
  peekIntConv  a8'>>= \a8'' -> 
  return (a8'')

{-# LINE 604 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 607 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 610 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cheevjBatched_bufferSize #-}
cheevjBatched_bufferSize :: (Handle) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Info_syevj) -> (Int) -> IO ((Int))
cheevjBatched_bufferSize a1 a2 a3 a4 a5 a6 a7 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  alloca $ \a8' -> 
  let {a9' = useInfo_syevj a9} in 
  let {a10' = fromIntegral a10} in 
  cheevjBatched_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >> 
  peekIntConv  a8'>>= \a8'' -> 
  return (a8'')

{-# LINE 613 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zheevjBatched_bufferSize #-}
zheevjBatched_bufferSize :: (Handle) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Info_syevj) -> (Int) -> IO ((Int))
zheevjBatched_bufferSize a1 a2 a3 a4 a5 a6 a7 a9 a10 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = useDevP a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = useDevP a7} in 
  alloca $ \a8' -> 
  let {a9' = useInfo_syevj a9} in 
  let {a10' = fromIntegral a10} in 
  zheevjBatched_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  checkStatus res >> 
  peekIntConv  a8'>>= \a8'' -> 
  return (a8'')

{-# LINE 616 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 619 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


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

{-# LINE 622 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE ssygvj_bufferSize #-}
ssygvj_bufferSize :: (Handle) -> (EigType) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Info_syevj) -> IO ((Int))
ssygvj_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a12 =
  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 
  let {a10' = useDevP a10} in 
  alloca $ \a11' -> 
  let {a12' = useInfo_syevj a12} in 
  ssygvj_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  checkStatus res >> 
  peekIntConv  a11'>>= \a11'' -> 
  return (a11'')

{-# LINE 625 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dsygvj_bufferSize #-}
dsygvj_bufferSize :: (Handle) -> (EigType) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Info_syevj) -> IO ((Int))
dsygvj_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a12 =
  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 
  let {a10' = useDevP a10} in 
  alloca $ \a11' -> 
  let {a12' = useInfo_syevj a12} in 
  dsygvj_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  checkStatus res >> 
  peekIntConv  a11'>>= \a11'' -> 
  return (a11'')

{-# LINE 628 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE ssygvj #-}
ssygvj :: (Handle) -> (EigType) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Int32) -> (Info_syevj) -> IO ()
ssygvj 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' = 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 
  let {a10' = useDevP a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = useDevP a13} in 
  let {a14' = useInfo_syevj a14} in 
  ssygvj'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 631 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dsygvj #-}
dsygvj :: (Handle) -> (EigType) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Int32) -> (Info_syevj) -> IO ()
dsygvj 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' = 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 
  let {a10' = useDevP a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = useDevP a13} in 
  let {a14' = useInfo_syevj a14} in 
  dsygvj'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 634 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE chegvj_bufferSize #-}
chegvj_bufferSize :: (Handle) -> (EigType) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Info_syevj) -> IO ((Int))
chegvj_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a12 =
  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 
  let {a10' = useDevP a10} in 
  alloca $ \a11' -> 
  let {a12' = useInfo_syevj a12} in 
  chegvj_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  checkStatus res >> 
  peekIntConv  a11'>>= \a11'' -> 
  return (a11'')

{-# LINE 637 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zhegvj_bufferSize #-}
zhegvj_bufferSize :: (Handle) -> (EigType) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Info_syevj) -> IO ((Int))
zhegvj_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a12 =
  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 
  let {a10' = useDevP a10} in 
  alloca $ \a11' -> 
  let {a12' = useInfo_syevj a12} in 
  zhegvj_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  checkStatus res >> 
  peekIntConv  a11'>>= \a11'' -> 
  return (a11'')

{-# LINE 640 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE chegvj #-}
chegvj :: (Handle) -> (EigType) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr Int32) -> (Info_syevj) -> IO ()
chegvj 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' = 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 
  let {a10' = useDevP a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = useDevP a13} in 
  let {a14' = useInfo_syevj a14} in 
  chegvj'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 643 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zhegvj #-}
zhegvj :: (Handle) -> (EigType) -> (EigMode) -> (Fill) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr Int32) -> (Info_syevj) -> IO ()
zhegvj 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' = 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 
  let {a10' = useDevP a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = useDevP a13} in 
  let {a14' = useInfo_syevj a14} in 
  zhegvj'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 769 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE sgesvdaStridedBatched #-}
sgesvdaStridedBatched :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (Int) -> (DevicePtr Float) -> (Int) -> (Int64) -> (DevicePtr Float) -> (Int64) -> (DevicePtr Float) -> (Int) -> (Int64) -> (DevicePtr Float) -> (Int) -> (Int64) -> (DevicePtr Float) -> (Int) -> (DevicePtr Int32) -> (Ptr Double) -> (Int) -> IO ()
sgesvdaStridedBatched a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 =
  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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = useDevP a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = useDevP a17} in 
  let {a18' = fromIntegral a18} in 
  let {a19' = useDevP a19} in 
  let {a20' = castPtr a20} in 
  let {a21' = fromIntegral a21} in 
  sgesvdaStridedBatched'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 772 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dgesvdaStridedBatched #-}
dgesvdaStridedBatched :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (Int) -> (DevicePtr Double) -> (Int) -> (Int64) -> (DevicePtr Double) -> (Int64) -> (DevicePtr Double) -> (Int) -> (Int64) -> (DevicePtr Double) -> (Int) -> (Int64) -> (DevicePtr Double) -> (Int) -> (DevicePtr Int32) -> (Ptr Double) -> (Int) -> IO ()
dgesvdaStridedBatched a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 =
  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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = useDevP a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = useDevP a17} in 
  let {a18' = fromIntegral a18} in 
  let {a19' = useDevP a19} in 
  let {a20' = castPtr a20} in 
  let {a21' = fromIntegral a21} in 
  dgesvdaStridedBatched'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 775 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cgesvdaStridedBatched #-}
cgesvdaStridedBatched :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (Int64) -> (DevicePtr (Complex Float)) -> (Int64) -> (DevicePtr (Complex Float)) -> (Int) -> (Int64) -> (DevicePtr (Complex Float)) -> (Int) -> (Int64) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr Int32) -> (Ptr Double) -> (Int) -> IO ()
cgesvdaStridedBatched a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 =
  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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = useDevP a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = useDevP a17} in 
  let {a18' = fromIntegral a18} in 
  let {a19' = useDevP a19} in 
  let {a20' = castPtr a20} in 
  let {a21' = fromIntegral a21} in 
  cgesvdaStridedBatched'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 778 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zgesvdaStridedBatched #-}
zgesvdaStridedBatched :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (Int64) -> (DevicePtr (Complex Double)) -> (Int64) -> (DevicePtr (Complex Double)) -> (Int) -> (Int64) -> (DevicePtr (Complex Double)) -> (Int) -> (Int64) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr Int32) -> (Ptr Double) -> (Int) -> IO ()
zgesvdaStridedBatched a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 =
  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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = useDevP a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = useDevP a17} in 
  let {a18' = fromIntegral a18} in 
  let {a19' = useDevP a19} in 
  let {a20' = castPtr a20} in 
  let {a21' = fromIntegral a21} in 
  zgesvdaStridedBatched'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' >>= \res ->
  checkStatus res >> 
  return ()

{-# LINE 781 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE sgesvdaStridedBatched_bufferSize #-}
sgesvdaStridedBatched_bufferSize :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (Int) -> (DevicePtr Float) -> (Int) -> (Int64) -> (DevicePtr Float) -> (Int64) -> (DevicePtr Float) -> (Int) -> (Int64) -> (DevicePtr Float) -> (Int) -> (Int64) -> (Int) -> IO ((Int))
sgesvdaStridedBatched_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a18 =
  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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = useDevP a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = fromIntegral a16} in 
  alloca $ \a17' -> 
  let {a18' = fromIntegral a18} in 
  sgesvdaStridedBatched_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  checkStatus res >> 
  peekIntConv  a17'>>= \a17'' -> 
  return (a17'')

{-# LINE 784 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dgesvdaStridedBatched_bufferSize #-}
dgesvdaStridedBatched_bufferSize :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (Int) -> (DevicePtr Double) -> (Int) -> (Int64) -> (DevicePtr Double) -> (Int64) -> (DevicePtr Double) -> (Int) -> (Int64) -> (DevicePtr Double) -> (Int) -> (Int64) -> (Int) -> IO ((Int))
dgesvdaStridedBatched_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a18 =
  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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = useDevP a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = fromIntegral a16} in 
  alloca $ \a17' -> 
  let {a18' = fromIntegral a18} in 
  dgesvdaStridedBatched_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  checkStatus res >> 
  peekIntConv  a17'>>= \a17'' -> 
  return (a17'')

{-# LINE 787 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cgesvdaStridedBatched_bufferSize #-}
cgesvdaStridedBatched_bufferSize :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (Int64) -> (DevicePtr (Complex Float)) -> (Int64) -> (DevicePtr (Complex Float)) -> (Int) -> (Int64) -> (DevicePtr (Complex Float)) -> (Int) -> (Int64) -> (Int) -> IO ((Int))
cgesvdaStridedBatched_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a18 =
  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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = useDevP a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = fromIntegral a16} in 
  alloca $ \a17' -> 
  let {a18' = fromIntegral a18} in 
  cgesvdaStridedBatched_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  checkStatus res >> 
  peekIntConv  a17'>>= \a17'' -> 
  return (a17'')

{-# LINE 790 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zgesvdaStridedBatched_bufferSize #-}
zgesvdaStridedBatched_bufferSize :: (Handle) -> (EigMode) -> (Int) -> (Int) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (Int64) -> (DevicePtr (Complex Double)) -> (Int64) -> (DevicePtr (Complex Double)) -> (Int) -> (Int64) -> (DevicePtr (Complex Double)) -> (Int) -> (Int64) -> (Int) -> IO ((Int))
zgesvdaStridedBatched_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a18 =
  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' = useDevP a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = useDevP a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = useDevP a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = useDevP a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = fromIntegral a16} in 
  alloca $ \a17' -> 
  let {a18' = fromIntegral a18} in 
  zgesvdaStridedBatched_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  checkStatus res >> 
  peekIntConv  a17'>>= \a17'' -> 
  return (a17'')

{-# LINE 793 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE ssyevdx #-}
ssyevdx :: (Handle) -> (EigMode) -> (EigRange) -> (Fill) -> (Int) -> (DevicePtr Float) -> (Int) -> (Float) -> (Float) -> (Int) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Int32) -> IO ((Int))
ssyevdx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a13 a14 a15 a16 =
  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' = CFloat a8} in 
  let {a9' = CFloat a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = fromIntegral a11} in 
  alloca $ \a12' -> 
  let {a13' = useDevP a13} in 
  let {a14' = useDevP a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = useDevP a16} in 
  ssyevdx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  checkStatus res >> 
  peekIntConv  a12'>>= \a12'' -> 
  return (a12'')

{-# LINE 796 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dsyevdx #-}
dsyevdx :: (Handle) -> (EigMode) -> (EigRange) -> (Fill) -> (Int) -> (DevicePtr Double) -> (Int) -> (Double) -> (Double) -> (Int) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Int32) -> IO ((Int))
dsyevdx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a13 a14 a15 a16 =
  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' = CDouble a8} in 
  let {a9' = CDouble a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = fromIntegral a11} in 
  alloca $ \a12' -> 
  let {a13' = useDevP a13} in 
  let {a14' = useDevP a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = useDevP a16} in 
  dsyevdx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  checkStatus res >> 
  peekIntConv  a12'>>= \a12'' -> 
  return (a12'')

{-# LINE 799 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE ssyevdx_bufferSize #-}
ssyevdx_bufferSize :: (Handle) -> (EigMode) -> (EigRange) -> (Fill) -> (Int) -> (DevicePtr Float) -> (Int) -> (Float) -> (Float) -> (Int) -> (Int) -> (DevicePtr Float) -> IO ((Int), (Int))
ssyevdx_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a13 =
  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' = CFloat a8} in 
  let {a9' = CFloat a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = fromIntegral a11} in 
  alloca $ \a12' -> 
  let {a13' = useDevP a13} in 
  alloca $ \a14' -> 
  ssyevdx_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  peekIntConv  a12'>>= \a12'' -> 
  peekIntConv  a14'>>= \a14'' -> 
  return (a12'', a14'')

{-# LINE 802 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dsyevdx_bufferSize #-}
dsyevdx_bufferSize :: (Handle) -> (EigMode) -> (EigRange) -> (Fill) -> (Int) -> (DevicePtr Double) -> (Int) -> (Double) -> (Double) -> (Int) -> (Int) -> (DevicePtr Double) -> IO ((Int), (Int))
dsyevdx_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a13 =
  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' = CDouble a8} in 
  let {a9' = CDouble a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = fromIntegral a11} in 
  alloca $ \a12' -> 
  let {a13' = useDevP a13} in 
  alloca $ \a14' -> 
  dsyevdx_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  peekIntConv  a12'>>= \a12'' -> 
  peekIntConv  a14'>>= \a14'' -> 
  return (a12'', a14'')

{-# LINE 805 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cheevdx #-}
cheevdx :: (Handle) -> (EigMode) -> (EigRange) -> (Fill) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (Float) -> (Float) -> (Int) -> (Int) -> (DevicePtr Float) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr Int32) -> IO ((Int))
cheevdx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a13 a14 a15 a16 =
  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' = CFloat a8} in 
  let {a9' = CFloat a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = fromIntegral a11} in 
  alloca $ \a12' -> 
  let {a13' = useDevP a13} in 
  let {a14' = useDevP a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = useDevP a16} in 
  cheevdx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  checkStatus res >> 
  peekIntConv  a12'>>= \a12'' -> 
  return (a12'')

{-# LINE 808 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zheevdx #-}
zheevdx :: (Handle) -> (EigMode) -> (EigRange) -> (Fill) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (Double) -> (Double) -> (Int) -> (Int) -> (DevicePtr Double) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr Int32) -> IO ((Int))
zheevdx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a13 a14 a15 a16 =
  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' = CDouble a8} in 
  let {a9' = CDouble a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = fromIntegral a11} in 
  alloca $ \a12' -> 
  let {a13' = useDevP a13} in 
  let {a14' = useDevP a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = useDevP a16} in 
  zheevdx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  checkStatus res >> 
  peekIntConv  a12'>>= \a12'' -> 
  return (a12'')

{-# LINE 811 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE cheevdx_bufferSize #-}
cheevdx_bufferSize :: (Handle) -> (EigMode) -> (EigRange) -> (Fill) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (Float) -> (Float) -> (Int) -> (Int) -> (DevicePtr Float) -> IO ((Int), (Int))
cheevdx_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a13 =
  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' = CFloat a8} in 
  let {a9' = CFloat a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = fromIntegral a11} in 
  alloca $ \a12' -> 
  let {a13' = useDevP a13} in 
  alloca $ \a14' -> 
  cheevdx_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  peekIntConv  a12'>>= \a12'' -> 
  peekIntConv  a14'>>= \a14'' -> 
  return (a12'', a14'')

{-# LINE 814 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zheevdx_bufferSize #-}
zheevdx_bufferSize :: (Handle) -> (EigMode) -> (EigRange) -> (Fill) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (Double) -> (Double) -> (Int) -> (Int) -> (DevicePtr Double) -> IO ((Int), (Int))
zheevdx_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a13 =
  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' = CDouble a8} in 
  let {a9' = CDouble a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = fromIntegral a11} in 
  alloca $ \a12' -> 
  let {a13' = useDevP a13} in 
  alloca $ \a14' -> 
  zheevdx_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  checkStatus res >> 
  peekIntConv  a12'>>= \a12'' -> 
  peekIntConv  a14'>>= \a14'' -> 
  return (a12'', a14'')

{-# LINE 817 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE ssygvdx #-}
ssygvdx :: (Handle) -> (EigType) -> (EigMode) -> (EigRange) -> (Fill) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (Float) -> (Float) -> (Int) -> (Int) -> (DevicePtr Float) -> (DevicePtr Float) -> (Int) -> (DevicePtr Int32) -> IO ((Int))
ssygvdx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a16 a17 a18 a19 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = cFromEnum 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 
  let {a11' = CFloat a11} in 
  let {a12' = CFloat a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  alloca $ \a15' -> 
  let {a16' = useDevP a16} in 
  let {a17' = useDevP a17} in 
  let {a18' = fromIntegral a18} in 
  let {a19' = useDevP a19} in 
  ssygvdx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' >>= \res ->
  checkStatus res >> 
  peekIntConv  a15'>>= \a15'' -> 
  return (a15'')

{-# LINE 820 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dsygvdx #-}
dsygvdx :: (Handle) -> (EigType) -> (EigMode) -> (EigRange) -> (Fill) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (Double) -> (Double) -> (Int) -> (Int) -> (DevicePtr Double) -> (DevicePtr Double) -> (Int) -> (DevicePtr Int32) -> IO ((Int))
dsygvdx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a16 a17 a18 a19 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = cFromEnum 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 
  let {a11' = CDouble a11} in 
  let {a12' = CDouble a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  alloca $ \a15' -> 
  let {a16' = useDevP a16} in 
  let {a17' = useDevP a17} in 
  let {a18' = fromIntegral a18} in 
  let {a19' = useDevP a19} in 
  dsygvdx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' >>= \res ->
  checkStatus res >> 
  peekIntConv  a15'>>= \a15'' -> 
  return (a15'')

{-# LINE 823 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE ssygvdx_bufferSize #-}
ssygvdx_bufferSize :: (Handle) -> (EigType) -> (EigMode) -> (EigRange) -> (Fill) -> (Int) -> (DevicePtr Float) -> (Int) -> (DevicePtr Float) -> (Int) -> (Float) -> (Float) -> (Int) -> (Int) -> (DevicePtr Float) -> IO ((Int), (Int))
ssygvdx_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a16 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = cFromEnum 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 
  let {a11' = CFloat a11} in 
  let {a12' = CFloat a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  alloca $ \a15' -> 
  let {a16' = useDevP a16} in 
  alloca $ \a17' -> 
  ssygvdx_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  checkStatus res >> 
  peekIntConv  a15'>>= \a15'' -> 
  peekIntConv  a17'>>= \a17'' -> 
  return (a15'', a17'')

{-# LINE 826 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE dsygvdx_bufferSize #-}
dsygvdx_bufferSize :: (Handle) -> (EigType) -> (EigMode) -> (EigRange) -> (Fill) -> (Int) -> (DevicePtr Double) -> (Int) -> (DevicePtr Double) -> (Int) -> (Double) -> (Double) -> (Int) -> (Int) -> (DevicePtr Double) -> IO ((Int), (Int))
dsygvdx_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a16 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = cFromEnum 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 
  let {a11' = CDouble a11} in 
  let {a12' = CDouble a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  alloca $ \a15' -> 
  let {a16' = useDevP a16} in 
  alloca $ \a17' -> 
  dsygvdx_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  checkStatus res >> 
  peekIntConv  a15'>>= \a15'' -> 
  peekIntConv  a17'>>= \a17'' -> 
  return (a15'', a17'')

{-# LINE 829 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE chegvdx #-}
chegvdx :: (Handle) -> (EigType) -> (EigMode) -> (EigRange) -> (Fill) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (Float) -> (Float) -> (Int) -> (Int) -> (DevicePtr Float) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr Int32) -> IO ((Int))
chegvdx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a16 a17 a18 a19 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = cFromEnum 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 
  let {a11' = CFloat a11} in 
  let {a12' = CFloat a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  alloca $ \a15' -> 
  let {a16' = useDevP a16} in 
  let {a17' = useDevP a17} in 
  let {a18' = fromIntegral a18} in 
  let {a19' = useDevP a19} in 
  chegvdx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' >>= \res ->
  checkStatus res >> 
  peekIntConv  a15'>>= \a15'' -> 
  return (a15'')

{-# LINE 832 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zhegvdx #-}
zhegvdx :: (Handle) -> (EigType) -> (EigMode) -> (EigRange) -> (Fill) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (Double) -> (Double) -> (Int) -> (Int) -> (DevicePtr Double) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr Int32) -> IO ((Int))
zhegvdx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a16 a17 a18 a19 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = cFromEnum 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 
  let {a11' = CDouble a11} in 
  let {a12' = CDouble a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  alloca $ \a15' -> 
  let {a16' = useDevP a16} in 
  let {a17' = useDevP a17} in 
  let {a18' = fromIntegral a18} in 
  let {a19' = useDevP a19} in 
  zhegvdx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' >>= \res ->
  checkStatus res >> 
  peekIntConv  a15'>>= \a15'' -> 
  return (a15'')

{-# LINE 835 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE chegvdx_bufferSize #-}
chegvdx_bufferSize :: (Handle) -> (EigType) -> (EigMode) -> (EigRange) -> (Fill) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (DevicePtr (Complex Float)) -> (Int) -> (Float) -> (Float) -> (Int) -> (Int) -> (DevicePtr Float) -> IO ((Int), (Int))
chegvdx_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a16 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = cFromEnum 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 
  let {a11' = CFloat a11} in 
  let {a12' = CFloat a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  alloca $ \a15' -> 
  let {a16' = useDevP a16} in 
  alloca $ \a17' -> 
  chegvdx_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  checkStatus res >> 
  peekIntConv  a15'>>= \a15'' -> 
  peekIntConv  a17'>>= \a17'' -> 
  return (a15'', a17'')

{-# LINE 838 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


{-# INLINEABLE zhegvdx_bufferSize #-}
zhegvdx_bufferSize :: (Handle) -> (EigType) -> (EigMode) -> (EigRange) -> (Fill) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (DevicePtr (Complex Double)) -> (Int) -> (Double) -> (Double) -> (Int) -> (Int) -> (DevicePtr Double) -> IO ((Int), (Int))
zhegvdx_bufferSize a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a16 =
  let {a1' = useHandle a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = cFromEnum 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 
  let {a11' = CDouble a11} in 
  let {a12' = CDouble a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  alloca $ \a15' -> 
  let {a16' = useDevP a16} in 
  alloca $ \a17' -> 
  zhegvdx_bufferSize'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  checkStatus res >> 
  peekIntConv  a15'>>= \a15'' -> 
  peekIntConv  a17'>>= \a17'' -> 
  return (a15'', a17'')

{-# LINE 915 "./Foreign/CUDA/Solver/Dense/Eigenvalue.chs" #-}


foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSgebrd_bufferSize"
  sgebrd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDgebrd_bufferSize"
  dgebrd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCgebrd_bufferSize"
  cgebrd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZgebrd_bufferSize"
  zgebrd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSgebrd"
  sgebrd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDgebrd"
  dgebrd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCgebrd"
  cgebrd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZgebrd"
  zgebrd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSgesvd_bufferSize"
  sgesvd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDgesvd_bufferSize"
  dgesvd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCgesvd_bufferSize"
  cgesvd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZgesvd_bufferSize"
  zgesvd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSgesvd"
  sgesvd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CSChar -> (C2HSImp.CSChar -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDgesvd"
  dgesvd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CSChar -> (C2HSImp.CSChar -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCgesvd"
  cgesvd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CSChar -> (C2HSImp.CSChar -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZgesvd"
  zgesvd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CSChar -> (C2HSImp.CSChar -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSorgbr_bufferSize"
  sorgbr_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDorgbr_bufferSize"
  dorgbr_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCungbr_bufferSize"
  cungbr_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZungbr_bufferSize"
  zungbr_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSorgbr"
  sorgbr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDorgbr"
  dorgbr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCungbr"
  cungbr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZungbr"
  zungbr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSsytrd_bufferSize"
  ssytrd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDsytrd_bufferSize"
  dsytrd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnChetrd_bufferSize"
  chetrd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZhetrd_bufferSize"
  zhetrd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSsytrd"
  ssytrd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDsytrd"
  dsytrd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnChetrd"
  chetrd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZhetrd"
  zhetrd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSormtr_bufferSize"
  sormtr_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDormtr_bufferSize"
  dormtr_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCunmtr_bufferSize"
  cunmtr_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZunmtr_bufferSize"
  zunmtr_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSormtr"
  sormtr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDormtr"
  dormtr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCunmtr"
  cunmtr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (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/Solver/Dense/Eigenvalue.chs.h cusolverDnZunmtr"
  zunmtr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (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/Solver/Dense/Eigenvalue.chs.h cusolverDnSorgtr_bufferSize"
  sorgtr_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDorgtr_bufferSize"
  dorgtr_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCungtr_bufferSize"
  cungtr_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZungtr_bufferSize"
  zungtr_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSorgtr"
  sorgtr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDorgtr"
  dorgtr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCungtr"
  cungtr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZungtr"
  zungtr'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSsyevd_bufferSize"
  ssyevd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDsyevd_bufferSize"
  dsyevd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCheevd_bufferSize"
  cheevd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZheevd_bufferSize"
  zheevd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSsyevd"
  ssyevd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDsyevd"
  dsyevd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCheevd"
  cheevd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZheevd"
  zheevd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSsygvd_bufferSize"
  ssygvd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDsygvd_bufferSize"
  dsygvd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnChegvd_bufferSize"
  chegvd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZhegvd_bufferSize"
  zhegvd_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSsygvd"
  ssygvd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDsygvd"
  dsygvd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnChegvd"
  chegvd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZhegvd"
  zhegvd'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSgesvdj_bufferSize"
  sgesvdj_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDgesvdj_bufferSize"
  dgesvdj_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCgesvdj_bufferSize"
  cgesvdj_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZgesvdj_bufferSize"
  zgesvdj_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSgesvdj"
  sgesvdj'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDgesvdj"
  dgesvdj'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCgesvdj"
  cgesvdj'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZgesvdj"
  zgesvdj'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSgesvdjBatched_bufferSize"
  sgesvdjBatched_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDgesvdjBatched_bufferSize"
  dgesvdjBatched_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCgesvdjBatched_bufferSize"
  cgesvdjBatched_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZgesvdjBatched_bufferSize"
  zgesvdjBatched_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSgesvdjBatched"
  sgesvdjBatched'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDgesvdjBatched"
  dgesvdjBatched'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCgesvdjBatched"
  cgesvdjBatched'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZgesvdjBatched"
  zgesvdjBatched'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSsyevj_bufferSize"
  ssyevj_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDsyevj_bufferSize"
  dsyevj_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSsyevj"
  ssyevj'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDsyevj"
  dsyevj'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCheevj_bufferSize"
  cheevj_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZheevj_bufferSize"
  zheevj_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCheevj"
  cheevj'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZheevj"
  zheevj'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSsyevjBatched_bufferSize"
  ssyevjBatched_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDsyevjBatched_bufferSize"
  dsyevjBatched_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSsyevjBatched"
  ssyevjBatched'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDsyevjBatched"
  dsyevjBatched'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCheevjBatched_bufferSize"
  cheevjBatched_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZheevjBatched_bufferSize"
  zheevjBatched_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCheevjBatched"
  cheevjBatched'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZheevjBatched"
  zheevjBatched'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSsygvj_bufferSize"
  ssygvj_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDsygvj_bufferSize"
  dsygvj_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSsygvj"
  ssygvj'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDsygvj"
  dsygvj'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnChegvj_bufferSize"
  chegvj_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZhegvj_bufferSize"
  zhegvj_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnChegvj"
  chegvj'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZhegvj"
  zhegvj'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSgesvdaStridedBatched"
  sgesvdaStridedBatched'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDgesvdaStridedBatched"
  dgesvdaStridedBatched'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCgesvdaStridedBatched"
  cgesvdaStridedBatched'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CLLong -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZgesvdaStridedBatched"
  zgesvdaStridedBatched'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CLLong -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSgesvdaStridedBatched_bufferSize"
  sgesvdaStridedBatched_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CInt) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDgesvdaStridedBatched_bufferSize"
  dgesvdaStridedBatched_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CInt) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCgesvdaStridedBatched_bufferSize"
  cgesvdaStridedBatched_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CLLong -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CInt) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZgesvdaStridedBatched_bufferSize"
  zgesvdaStridedBatched_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CLLong -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CLLong -> ((C2HSImp.Ptr C2HSImp.CInt) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSsyevdx"
  ssyevdx'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (C2HSImp.CFloat -> (C2HSImp.CFloat -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDsyevdx"
  dsyevdx'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (C2HSImp.CDouble -> (C2HSImp.CDouble -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSsyevdx_bufferSize"
  ssyevdx_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (C2HSImp.CFloat -> (C2HSImp.CFloat -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDsyevdx_bufferSize"
  dsyevdx_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (C2HSImp.CDouble -> (C2HSImp.CDouble -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCheevdx"
  cheevdx'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CFloat -> (C2HSImp.CFloat -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZheevdx"
  zheevdx'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CDouble -> (C2HSImp.CDouble -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnCheevdx_bufferSize"
  cheevdx_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CFloat -> (C2HSImp.CFloat -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZheevdx_bufferSize"
  zheevdx_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CDouble -> (C2HSImp.CDouble -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt)))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSsygvdx"
  ssygvdx'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (C2HSImp.CFloat -> (C2HSImp.CFloat -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDsygvdx"
  dsygvdx'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (C2HSImp.CDouble -> (C2HSImp.CDouble -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnSsygvdx_bufferSize"
  ssygvdx_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CFloat) -> (C2HSImp.CInt -> (C2HSImp.CFloat -> (C2HSImp.CFloat -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnDsygvdx_bufferSize"
  dsygvdx_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CDouble) -> (C2HSImp.CInt -> (C2HSImp.CDouble -> (C2HSImp.CDouble -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnChegvdx"
  chegvdx'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CFloat -> (C2HSImp.CFloat -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZhegvdx"
  zhegvdx'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CDouble -> (C2HSImp.CDouble -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnChegvdx_bufferSize"
  chegvdx_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CFloat -> (C2HSImp.CFloat -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CFloat) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))))))))

foreign import ccall unsafe "Foreign/CUDA/Solver/Dense/Eigenvalue.chs.h cusolverDnZhegvdx_bufferSize"
  zhegvdx_bufferSize'_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CDouble -> (C2HSImp.CDouble -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CDouble) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (IO C2HSImp.CInt))))))))))))))))))