-- GENERATED by C->Haskell Compiler, version 0.28.2 Switcheroo, 1 April 2016 (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(..),
  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,

) 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 152 "./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 164 "./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 167 "./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 170 "./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 173 "./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 176 "./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 179 "./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 182 "./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 185 "./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 188 "./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 191 "./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 194 "./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 197 "./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 200 "./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 203 "./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 206 "./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 210 "./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 213 "./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 216 "./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 219 "./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 222 "./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 225 "./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 228 "./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 231 "./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 234 "./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 237 "./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 240 "./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 243 "./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 246 "./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 249 "./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 252 "./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 255 "./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 258 "./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 261 "./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 264 "./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 267 "./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 270 "./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 273 "./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 276 "./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 279 "./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 282 "./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 285 "./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 288 "./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 291 "./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 294 "./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 297 "./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 300 "./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 303 "./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 306 "./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 309 "./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 312 "./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 315 "./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 318 "./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 321 "./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 324 "./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 327 "./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 330 "./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 333 "./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 336 "./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 339 "./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 342 "./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 345 "./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 348 "./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 351 "./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 501 "./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 504 "./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 507 "./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 510 "./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 513 "./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 516 "./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 519 "./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 522 "./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 525 "./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 528 "./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 531 "./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 534 "./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 537 "./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 540 "./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 543 "./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 546 "./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 549 "./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 552 "./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 555 "./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 558 "./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 561 "./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 564 "./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 567 "./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 570 "./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 573 "./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 576 "./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 579 "./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 582 "./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 585 "./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 588 "./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 591 "./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 594 "./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 597 "./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 600 "./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 603 "./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 606 "./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 609 "./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 612 "./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 615 "./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 618 "./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 743 "./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)))))))))))))))