{-# LINE 1 "./Foreign/CUDA/Solver/Sparse/Analysis.chs" #-}
{-# LANGUAGE CPP #-}
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE ForeignFunctionInterface #-}
module Foreign.CUDA.Solver.Sparse.Analysis (
Info_csrqr(..), createInfo_csrqr, destroyInfo_csrqr,
Info_csrchol(..), createInfo_csrchol, destroyInfo_csrchol,
) where
import qualified Foreign.C.Types as C2HSImp
import qualified Foreign.Ptr as C2HSImp
import Foreign.CUDA.Solver.Error
import Foreign.CUDA.Solver.Internal.C2HS
import Foreign
import Foreign.C
import Control.Monad ( liftM )
{-# LINE 31 "./Foreign/CUDA/Solver/Sparse/Analysis.chs" #-}
newtype Info_csrqr = Info_csrqr { useInfo_csrqr :: ((C2HSImp.Ptr ()))}
{-# INLINEABLE createInfo_csrqr #-}
createInfo_csrqr :: IO ((Info_csrqr))
createInfo_csrqr =
alloca $ \a1' ->
createInfo_csrqr'_ a1' >>= \res ->
checkStatus res >>
peekI a1'>>= \a1'' ->
return (a1'')
{-# LINE 38 "./Foreign/CUDA/Solver/Sparse/Analysis.chs" #-}
where
peekI = liftM Info_csrqr . peek
{-# INLINEABLE destroyInfo_csrqr #-}
destroyInfo_csrqr :: (Info_csrqr) -> IO ((()))
destroyInfo_csrqr a1 =
let {a1' = useInfo_csrqr a1} in
destroyInfo_csrqr'_ a1' >>= \res ->
checkStatus res >>= \res' ->
return (res')
{-# LINE 44 "./Foreign/CUDA/Solver/Sparse/Analysis.chs" #-}
newtype Info_csrchol = Info_csrchol { useInfo_csrchol :: ((C2HSImp.Ptr ()))}
{-# INLINEABLE createInfo_csrchol #-}
createInfo_csrchol :: IO ((Info_csrchol))
createInfo_csrchol =
alloca $ \a1' ->
createInfo_csrchol'_ a1' >>= \res ->
checkStatus res >>
peekI a1'>>= \a1'' ->
return (a1'')
{-# LINE 52 "./Foreign/CUDA/Solver/Sparse/Analysis.chs" #-}
where
peekI = liftM Info_csrchol . peek
{-# INLINEABLE destroyInfo_csrchol #-}
destroyInfo_csrchol :: (Info_csrchol) -> IO ((()))
destroyInfo_csrchol a1 =
let {a1' = useInfo_csrchol a1} in
destroyInfo_csrchol'_ a1' >>= \res ->
checkStatus res >>= \res' ->
return (res')
{-# LINE 58 "./Foreign/CUDA/Solver/Sparse/Analysis.chs" #-}
foreign import ccall unsafe "Foreign/CUDA/Solver/Sparse/Analysis.chs.h cusolverSpCreateCsrqrInfo"
createInfo_csrqr'_ :: ((C2HSImp.Ptr (C2HSImp.Ptr ())) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/Solver/Sparse/Analysis.chs.h cusolverSpDestroyCsrqrInfo"
destroyInfo_csrqr'_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/Solver/Sparse/Analysis.chs.h cusolverSpCreateCsrcholInfo"
createInfo_csrchol'_ :: ((C2HSImp.Ptr (C2HSImp.Ptr ())) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/Solver/Sparse/Analysis.chs.h cusolverSpDestroyCsrcholInfo"
destroyInfo_csrchol'_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))