{-# 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_csrsm2(..), createInfo_csrsm2, destroyInfo_csrsm2,
Info_color(..), createInfo_color, destroyInfo_color,
Info_csru2csr(..), createInfo_csru2csr, destroyInfo_csru2csr,
Info_prune(..), createInfo_prune, destroyInfo_prune,
) 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 42 "./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 58 "./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 68 "./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 77 "./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 83 "./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 92 "./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 98 "./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 107 "./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 113 "./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 122 "./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 128 "./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 137 "./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 143 "./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 152 "./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 158 "./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 167 "./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 173 "./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 183 "./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 189 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
newtype Info_csrsm2 = Info_csrsm2 { useInfo_csrsm2 :: ((C2HSImp.Ptr ()))}
{-# INLINEABLE createInfo_csrsm2 #-}
createInfo_csrsm2 :: IO ((Info_csrsm2))
createInfo_csrsm2 =
alloca $ \a1' ->
createInfo_csrsm2'_ a1' >>= \res ->
checkStatus res >>
peekI a1'>>= \a1'' ->
return (a1'')
{-# LINE 210 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
where
peekI = liftM Info_csrsm2 . peek
{-# INLINE destroyInfo_csrsm2 #-}
destroyInfo_csrsm2 :: (Info_csrsm2) -> IO ()
destroyInfo_csrsm2 a1 =
let {a1' = useInfo_csrsm2 a1} in
destroyInfo_csrsm2'_ a1' >>= \res ->
checkStatus res >>
return ()
{-# LINE 216 "./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 238 "./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 244 "./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 265 "./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 271 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
newtype Info_prune = Info_prune { useInfo_prune :: ((C2HSImp.Ptr ()))}
{-# INLINEABLE createInfo_prune #-}
createInfo_prune :: IO ((Info_prune))
createInfo_prune =
alloca $ \a1' ->
createInfo_prune'_ a1' >>= \res ->
checkStatus res >>
peekI a1'>>= \a1'' ->
return (a1'')
{-# LINE 292 "./Foreign/CUDA/BLAS/Sparse/Analysis.chs" #-}
where
peekI = liftM Info_prune . peek
{-# INLINEABLE destroyInfo_prune #-}
destroyInfo_prune :: (Info_prune) -> IO ((()))
destroyInfo_prune a1 =
let {a1' = useInfo_prune a1} in
destroyInfo_prune'_ a1' >>= \res ->
checkStatus res >>= \res' ->
return (res')
{-# LINE 298 "./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 cusparseCreateCsrsm2Info"
createInfo_csrsm2'_ :: ((C2HSImp.Ptr (C2HSImp.Ptr ())) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseDestroyCsrsm2Info"
destroyInfo_csrsm2'_ :: ((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))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseCreatePruneInfo"
createInfo_prune'_ :: ((C2HSImp.Ptr (C2HSImp.Ptr ())) -> (IO C2HSImp.CInt))
foreign import ccall unsafe "Foreign/CUDA/BLAS/Sparse/Analysis.chs.h cusparseDestroyPruneInfo"
destroyInfo_prune'_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))