module Data.ABC.Internal.IO (
ioReadAiger
, ioWriteAiger
) where
import qualified Foreign.C.String as C2HSImp
import qualified Foreign.C.Types as C2HSImp
import qualified Foreign.Marshal.Utils as C2HSImp
import qualified Foreign.Ptr as C2HSImp
import Foreign
import Foreign.C
import Data.ABC.Internal.ABC
ioReadAiger :: (String) -> (Bool) -> IO ((Abc_Ntk_t))
ioReadAiger a1 a2 =
C2HSImp.withCString a1 $ \a1' ->
let {a2' = C2HSImp.fromBool a2} in
ioReadAiger'_ a1' a2' >>= \res ->
let {res' = id res} in
return (res')
ioWriteAiger :: (Abc_Ntk_t) -> (String) -> (Bool)
-> (Bool)
-> (Bool)
-> IO ()
ioWriteAiger a1 a2 a3 a4 a5 =
let {a1' = id a1} in
C2HSImp.withCString a2 $ \a2' ->
let {a3' = C2HSImp.fromBool a3} in
let {a4' = C2HSImp.fromBool a4} in
let {a5' = C2HSImp.fromBool a5} in
ioWriteAiger'_ a1' a2' a3' a4' a5' >>
return ()
foreign import ccall safe "Data/ABC/Internal/IO.chs.h Io_ReadAiger"
ioReadAiger'_ :: ((C2HSImp.Ptr C2HSImp.CChar) -> (C2HSImp.CInt -> (IO (Abc_Ntk_t))))
foreign import ccall safe "Data/ABC/Internal/IO.chs.h Io_WriteAiger"
ioWriteAiger'_ :: ((Abc_Ntk_t) -> ((C2HSImp.Ptr C2HSImp.CChar) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (IO ()))))))