{-# LINE 1 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
{-# LANGUAGE CPP #-}
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE ForeignFunctionInterface #-}
module Foreign.CUDA.BLAS.Sparse.Analysis (
Info(..), createInfo, destroyInfo,
Info_csrsv2(..), createInfo_csrsv2, destroyInfo_csrsv2,
Info_csric02(..), createInfo_csric02, destroyInfo_csric02,
Info_csrilu02(..), createInfo_csrilu02, destroyInfo_csrilu02,
Info_bsrsv2(..), createInfo_bsrsv2, destroyInfo_bsrsv2,
Info_bsrsm2(..), createInfo_bsrsm2, destroyInfo_bsrsm2,
Info_bsric02(..), createInfo_bsric02, destroyInfo_bsric02,
Info_bsrilu02(..), createInfo_bsrilu02, destroyInfo_bsrilu02,
Info_csrgemm2(..), createInfo_csrgemm2, destroyInfo_csrgemm2,
Info_color(..), createInfo_color, destroyInfo_color,
Info_csru2csr(..), createInfo_csru2csr, destroyInfo_csru2csr,
) where
import qualified Foreign.C.Types as C2HSImp
import qualified Foreign.Ptr as C2HSImp
import Foreign.CUDA.BLAS.Sparse.Error
import Foreign.CUDA.BLAS.Sparse.Internal.C2HS
import Foreign
import Foreign.C
import Control.Monad ( liftM )
{-# LINE 40 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
newtype Info = Info { useInfo :: ((C2HSImp.Ptr ()))}
{-# INLINEABLE createInfo #-}
createInfo :: IO ((Info))
createInfo =
alloca $ \a1' ->
createInfo'_ a1' >>= \res ->
checkStatus res >>
peekI a1'>>= \a1'' ->
return (a1'')
{-# LINE 56 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
where
peekI = liftM Info . peek
{-# INLINEABLE destroyInfo #-}
destroyInfo :: (Info) -> IO ((()))
destroyInfo a1 =
let {a1' = useInfo a1} in
destroyInfo'_ a1' >>= \res ->
checkStatus res >>= \res' ->
return (res')
{-# LINE 66 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
newtype Info_csrsv2 = Info_csrsv2 { useInfo_csrsv2 :: ((C2HSImp.Ptr ()))}
{-# INLINEABLE createInfo_csrsv2 #-}
createInfo_csrsv2 :: IO ((Info_csrsv2))
createInfo_csrsv2 =
alloca $ \a1' ->
createInfo_csrsv2'_ a1' >>= \res ->
checkStatus res >>
peekI a1'>>= \a1'' ->
return (a1'')
{-# LINE 75 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
where
peekI = liftM Info_csrsv2 . peek
{-# INLINEABLE destroyInfo_csrsv2 #-}
destroyInfo_csrsv2 :: (Info_csrsv2) -> IO ((()))
destroyInfo_csrsv2 a1 =
let {a1' = useInfo_csrsv2 a1} in
destroyInfo_csrsv2'_ a1' >>= \res ->
checkStatus res >>= \res' ->
return (res')
{-# LINE 81 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
newtype Info_csric02 = Info_csric02 { useInfo_csric02 :: ((C2HSImp.Ptr ()))}
{-# INLINEABLE createInfo_csric02 #-}
createInfo_csric02 :: IO ((Info_csric02))
createInfo_csric02 =
alloca $ \a1' ->
createInfo_csric02'_ a1' >>= \res ->
checkStatus res >>
peekI a1'>>= \a1'' ->
return (a1'')
{-# LINE 90 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
where
peekI = liftM Info_csric02 . peek
{-# INLINEABLE destroyInfo_csric02 #-}
destroyInfo_csric02 :: (Info_csric02) -> IO ((()))
destroyInfo_csric02 a1 =
let {a1' = useInfo_csric02 a1} in
destroyInfo_csric02'_ a1' >>= \res ->
checkStatus res >>= \res' ->
return (res')
{-# LINE 96 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
newtype Info_csrilu02 = Info_csrilu02 { useInfo_csrilu02 :: ((C2HSImp.Ptr ()))}
{-# INLINEABLE createInfo_csrilu02 #-}
createInfo_csrilu02 :: IO ((Info_csrilu02))
createInfo_csrilu02 =
alloca $ \a1' ->
createInfo_csrilu02'_ a1' >>= \res ->
checkStatus res >>
peekI a1'>>= \a1'' ->
return (a1'')
{-# LINE 105 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
where
peekI = liftM Info_csrilu02 . peek
{-# INLINEABLE destroyInfo_csrilu02 #-}
destroyInfo_csrilu02 :: (Info_csrilu02) -> IO ((()))
destroyInfo_csrilu02 a1 =
let {a1' = useInfo_csrilu02 a1} in
destroyInfo_csrilu02'_ a1' >>= \res ->
checkStatus res >>= \res' ->
return (res')
{-# LINE 111 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
newtype Info_bsrsv2 = Info_bsrsv2 { useInfo_bsrsv2 :: ((C2HSImp.Ptr ()))}
{-# INLINEABLE createInfo_bsrsv2 #-}
createInfo_bsrsv2 :: IO ((Info_bsrsv2))
createInfo_bsrsv2 =
alloca $ \a1' ->
createInfo_bsrsv2'_ a1' >>= \res ->
checkStatus res >>
peekI a1'>>= \a1'' ->
return (a1'')
{-# LINE 120 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
where
peekI = liftM Info_bsrsv2 . peek
{-# INLINEABLE destroyInfo_bsrsv2 #-}
destroyInfo_bsrsv2 :: (Info_bsrsv2) -> IO ((()))
destroyInfo_bsrsv2 a1 =
let {a1' = useInfo_bsrsv2 a1} in
destroyInfo_bsrsv2'_ a1' >>= \res ->
checkStatus res >>= \res' ->
return (res')
{-# LINE 126 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
newtype Info_bsrsm2 = Info_bsrsm2 { useInfo_bsrsm2 :: ((C2HSImp.Ptr ()))}
{-# INLINEABLE createInfo_bsrsm2 #-}
createInfo_bsrsm2 :: IO ((Info_bsrsm2))
createInfo_bsrsm2 =
alloca $ \a1' ->
createInfo_bsrsm2'_ a1' >>= \res ->
checkStatus res >>
peekI a1'>>= \a1'' ->
return (a1'')
{-# LINE 135 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
where
peekI = liftM Info_bsrsm2 . peek
{-# INLINEABLE destroyInfo_bsrsm2 #-}
destroyInfo_bsrsm2 :: (Info_bsrsm2) -> IO ((()))
destroyInfo_bsrsm2 a1 =
let {a1' = useInfo_bsrsm2 a1} in
destroyInfo_bsrsm2'_ a1' >>= \res ->
checkStatus res >>= \res' ->
return (res')
{-# LINE 141 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
newtype Info_bsric02 = Info_bsric02 { useInfo_bsric02 :: ((C2HSImp.Ptr ()))}
{-# INLINEABLE createInfo_bsric02 #-}
createInfo_bsric02 :: IO ((Info_bsric02))
createInfo_bsric02 =
alloca $ \a1' ->
createInfo_bsric02'_ a1' >>= \res ->
checkStatus res >>
peekI a1'>>= \a1'' ->
return (a1'')
{-# LINE 150 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
where
peekI = liftM Info_bsric02 . peek
{-# INLINEABLE destroyInfo_bsric02 #-}
destroyInfo_bsric02 :: (Info_bsric02) -> IO ((()))
destroyInfo_bsric02 a1 =
let {a1' = useInfo_bsric02 a1} in
destroyInfo_bsric02'_ a1' >>= \res ->
checkStatus res >>= \res' ->
return (res')
{-# LINE 156 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
newtype Info_bsrilu02 = Info_bsrilu02 { useInfo_bsrilu02 :: ((C2HSImp.Ptr ()))}
{-# INLINEABLE createInfo_bsrilu02 #-}
createInfo_bsrilu02 :: IO ((Info_bsrilu02))
createInfo_bsrilu02 =
alloca $ \a1' ->
createInfo_bsrilu02'_ a1' >>= \res ->
checkStatus res >>
peekI a1'>>= \a1'' ->
return (a1'')
{-# LINE 165 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
where
peekI = liftM Info_bsrilu02 . peek
{-# INLINEABLE destroyInfo_bsrilu02 #-}
destroyInfo_bsrilu02 :: (Info_bsrilu02) -> IO ((()))
destroyInfo_bsrilu02 a1 =
let {a1' = useInfo_bsrilu02 a1} in
destroyInfo_bsrilu02'_ a1' >>= \res ->
checkStatus res >>= \res' ->
return (res')
{-# LINE 171 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
newtype Info_csrgemm2 = Info_csrgemm2 { useInfo_csrgemm2 :: ((C2HSImp.Ptr ()))}
{-# INLINEABLE createInfo_csrgemm2 #-}
createInfo_csrgemm2 :: IO ((Info_csrgemm2))
createInfo_csrgemm2 =
alloca $ \a1' ->
createInfo_csrgemm2'_ a1' >>= \res ->
checkStatus res >>
peekI a1'>>= \a1'' ->
return (a1'')
{-# LINE 181 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
where
peekI = liftM Info_csrgemm2 . peek
{-# INLINEABLE destroyInfo_csrgemm2 #-}
destroyInfo_csrgemm2 :: (Info_csrgemm2) -> IO ((()))
destroyInfo_csrgemm2 a1 =
let {a1' = useInfo_csrgemm2 a1} in
destroyInfo_csrgemm2'_ a1' >>= \res ->
checkStatus res >>= \res' ->
return (res')
{-# LINE 187 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
newtype Info_color = Info_color { useInfo_color :: ((C2HSImp.Ptr ()))}
{-# INLINEABLE createInfo_color #-}
createInfo_color :: IO ((Info_color))
createInfo_color =
alloca $ \a1' ->
createInfo_color'_ a1' >>= \res ->
checkStatus res >>
peekI a1'>>= \a1'' ->
return (a1'')
{-# LINE 208 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
where
peekI = liftM Info_color . peek
{-# INLINEABLE destroyInfo_color #-}
destroyInfo_color :: (Info_color) -> IO ((()))
destroyInfo_color a1 =
let {a1' = useInfo_color a1} in
destroyInfo_color'_ a1' >>= \res ->
checkStatus res >>= \res' ->
return (res')
{-# LINE 214 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
newtype Info_csru2csr = Info_csru2csr { useInfo_csru2csr :: ((C2HSImp.Ptr ()))}
{-# INLINEABLE createInfo_csru2csr #-}
createInfo_csru2csr :: IO ((Info_csru2csr))
createInfo_csru2csr =
alloca $ \a1' ->
createInfo_csru2csr'_ a1' >>= \res ->
checkStatus res >>
peekI a1'>>= \a1'' ->
return (a1'')
{-# LINE 235 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
where
peekI = liftM Info_csru2csr . peek
{-# INLINEABLE destroyInfo_csru2csr #-}
destroyInfo_csru2csr :: (Info_csru2csr) -> IO ((()))
destroyInfo_csru2csr a1 =
let {a1' = useInfo_csru2csr a1} in
destroyInfo_csru2csr'_ a1' >>= \res ->
checkStatus res >>= \res' ->
return (res')
{-# LINE 241 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseCreateSolveAnalysisInfo"
createInfo'_ :: ((C2HSImp.Ptr (C2HSImp.Ptr ())) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseDestroySolveAnalysisInfo"
destroyInfo'_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseCreateCsrsv2Info"
createInfo_csrsv2'_ :: ((C2HSImp.Ptr (C2HSImp.Ptr ())) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseDestroyCsrsv2Info"
destroyInfo_csrsv2'_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseCreateCsric02Info"
createInfo_csric02'_ :: ((C2HSImp.Ptr (C2HSImp.Ptr ())) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseDestroyCsric02Info"
destroyInfo_csric02'_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseCreateCsrilu02Info"
createInfo_csrilu02'_ :: ((C2HSImp.Ptr (C2HSImp.Ptr ())) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseDestroyCsrilu02Info"
destroyInfo_csrilu02'_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseCreateBsrsv2Info"
createInfo_bsrsv2'_ :: ((C2HSImp.Ptr (C2HSImp.Ptr ())) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseDestroyBsrsv2Info"
destroyInfo_bsrsv2'_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseCreateBsrsm2Info"
createInfo_bsrsm2'_ :: ((C2HSImp.Ptr (C2HSImp.Ptr ())) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseDestroyBsrsm2Info"
destroyInfo_bsrsm2'_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseCreateBsric02Info"
createInfo_bsric02'_ :: ((C2HSImp.Ptr (C2HSImp.Ptr ())) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseDestroyBsric02Info"
destroyInfo_bsric02'_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseCreateBsrilu02Info"
createInfo_bsrilu02'_ :: ((C2HSImp.Ptr (C2HSImp.Ptr ())) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseDestroyBsrilu02Info"
destroyInfo_bsrilu02'_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseCreateCsrgemm2Info"
createInfo_csrgemm2'_ :: ((C2HSImp.Ptr (C2HSImp.Ptr ())) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseDestroyCsrgemm2Info"
destroyInfo_csrgemm2'_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseCreateColorInfo"
createInfo_color'_ :: ((C2HSImp.Ptr (C2HSImp.Ptr ())) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseDestroyColorInfo"
destroyInfo_color'_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseCreateCsru2csrInfo"
createInfo_csru2csr'_ :: ((C2HSImp.Ptr (C2HSImp.Ptr ())) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseDestroyCsru2csrInfo"
destroyInfo_csru2csr'_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))