{-# LINE 1 "src/Math/ExactCover/Internal/DLX.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LINE 2 "src/Math/ExactCover/Internal/DLX.hsc" #-}
{-# LANGUAGE CPP #-}
{-# LANGUAGE EmptyDataDecls #-}
module Math.ExactCover.Internal.DLX where
import Foreign
import Foreign.C.Types
{-# LINE 18 "src/Math/ExactCover/Internal/DLX.hsc" #-}
data DLXMatrix
foreign import ccall unsafe "dlx.h solve"
c_solve :: Ptr DLXMatrix -> CSize -> Ptr (Ptr (Ptr CInt)) -> Ptr (Ptr CSize) -> Ptr CSize -> IO CInt
foreign import ccall unsafe "dlx.h &free_matrix"
c_free_matrix :: FinalizerPtr DLXMatrix
foreign import ccall unsafe "dlx.h create_empty_matrix"
c_create_empty_matrix :: IO (Ptr DLXMatrix)
foreign import ccall unsafe "dlx.h add_set"
c_add_set :: Ptr (Ptr DLXMatrix) -> Ptr CInt -> CSize -> IO CInt