abcBridge 0.14 → 0.15
raw patch · 10 files changed
+74/−40 lines, 10 filesdep +base-compatPVP ok
version bump matches the API change (PVP)
Dependencies added: base-compat
API changes (from Hackage documentation)
- Data.ABC.AIG: Network :: g s -> [l s] -> Network l g
- Data.ABC.AIG: SomeGraph :: g s -> SomeGraph g
- Data.ABC.AIG: instance Eq (Lit s)
- Data.ABC.AIG: instance IsAIG Lit AIG
- Data.ABC.AIG: instance IsLit Lit
- Data.ABC.AIG: instance Ord (Lit s)
- Data.ABC.AIG: instance Storable (Lit s)
- Data.ABC.AIG: instance Traceable Lit
- Data.ABC.GIA: Network :: g s -> [l s] -> Network l g
- Data.ABC.GIA: SomeGraph :: g s -> SomeGraph g
- Data.ABC.GIA: instance Eq (Lit s)
- Data.ABC.GIA: instance IsAIG Lit GIA
- Data.ABC.GIA: instance IsLit Lit
- Data.ABC.GIA: instance Ord (Lit s)
- Data.ABC.GIA: instance Storable (Lit s)
- Data.ABC.GIA: instance Traceable Lit
- Data.ABC.Internal.ABC: instance Enum Abc_InitType_t
- Data.ABC.Internal.ABC: instance Enum Abc_NtkFunc_t
- Data.ABC.Internal.ABC: instance Enum Abc_NtkType_t
- Data.ABC.Internal.ABC: instance Enum Abc_ObjType_t
- Data.ABC.Internal.ABC: instance Eq Abc_InitType_t
- Data.ABC.Internal.ABC: instance Eq Abc_NtkFunc_t
- Data.ABC.Internal.ABC: instance Eq Abc_NtkType_t
- Data.ABC.Internal.ABC: instance Eq Abc_ObjType_t
- Data.ABC.Internal.ABC: instance Show Abc_InitType_t
- Data.ABC.Internal.ABC: instance Show Abc_NtkFunc_t
- Data.ABC.Internal.ABC: instance Show Abc_NtkType_t
- Data.ABC.Internal.ABC: instance Show Abc_ObjType_t
- Data.ABC.Internal.ABCGlobal: iFrame'Abc_Cex :: Abc_Cex_t_ -> Int
- Data.ABC.Internal.ABCGlobal: iPo'Abc_Cex :: Abc_Cex_t_ -> Int
- Data.ABC.Internal.ABCGlobal: instance Eq Abc_Cex_t_
- Data.ABC.Internal.ABCGlobal: instance Read Abc_Cex_t_
- Data.ABC.Internal.ABCGlobal: instance Show Abc_Cex_t_
- Data.ABC.Internal.ABCGlobal: nBits'Abc_Cex :: Abc_Cex_t_ -> Int
- Data.ABC.Internal.ABCGlobal: nPis'Abc_Cex :: Abc_Cex_t_ -> Int
- Data.ABC.Internal.ABCGlobal: nRegs'Abc_Cex :: Abc_Cex_t_ -> Int
- Data.ABC.Internal.ABCGlobal: pData'inputs'Abc_Cex :: Abc_Cex_t_ -> [[Bool]]
- Data.ABC.Internal.ABCGlobal: pData'regs'Abc_Cex :: Abc_Cex_t_ -> [Bool]
- Data.ABC.Internal.AIG: instance Enum Aig_Type_t
- Data.ABC.Internal.AIG: instance Eq Aig_Type_t
- Data.ABC.Internal.AIG: instance Show Aig_Type_t
- Data.ABC.Internal.CEC: fCheckMiter'Cec_ParSat :: Cec_ParSat_t_ -> Bool
- Data.ABC.Internal.CEC: fLearnCls'Cec_ParSat :: Cec_ParSat_t_ -> Bool
- Data.ABC.Internal.CEC: fNaive'Cec_ParCec :: Cec_ParCec_t_ -> Bool
- Data.ABC.Internal.CEC: fNonChrono'Cec_ParSat :: Cec_ParSat_t_ -> Bool
- Data.ABC.Internal.CEC: fPolarFlip'Cec_ParSat :: Cec_ParSat_t_ -> Bool
- Data.ABC.Internal.CEC: fRewriting'Cec_ParCec :: Cec_ParCec_t_ -> Bool
- Data.ABC.Internal.CEC: fUseSmartCnf'Cec_ParCec :: Cec_ParCec_t_ -> Bool
- Data.ABC.Internal.CEC: fVerbose'Cec_ParCec :: Cec_ParCec_t_ -> Bool
- Data.ABC.Internal.CEC: fVerbose'Cec_ParSat :: Cec_ParSat_t_ -> Bool
- Data.ABC.Internal.CEC: fVeryVerbose'Cec_ParCec :: Cec_ParCec_t_ -> Bool
- Data.ABC.Internal.CEC: iOutFail'Cec_ParCec :: Cec_ParCec_t_ -> Int
- Data.ABC.Internal.CEC: instance Eq Cec_ParCec_t_
- Data.ABC.Internal.CEC: instance Eq Cec_ParSat_t_
- Data.ABC.Internal.CEC: instance Read Cec_ParCec_t_
- Data.ABC.Internal.CEC: instance Read Cec_ParSat_t_
- Data.ABC.Internal.CEC: instance Show Cec_ParCec_t_
- Data.ABC.Internal.CEC: instance Show Cec_ParSat_t_
- Data.ABC.Internal.CEC: instance Storable Cec_ParCec_t_
- Data.ABC.Internal.CEC: instance Storable Cec_ParSat_t_
- Data.ABC.Internal.CEC: nBTLimit'Cec_ParCec :: Cec_ParCec_t_ -> Int
- Data.ABC.Internal.CEC: nBTLimit'Cec_ParSat :: Cec_ParSat_t_ -> CInt
- Data.ABC.Internal.CEC: nCallsRecycle'Cec_ParSat :: Cec_ParSat_t_ -> CInt
- Data.ABC.Internal.CEC: nSatVarMax'Cec_ParSat :: Cec_ParSat_t_ -> CInt
- Data.ABC.Internal.CEC: nTimeLimit'Cec_ParCec :: Cec_ParCec_t_ -> Int
- Data.ABC.Internal.FRAIG: fBddReorder'Prove_Params :: Prove_Params_t_ -> Bool
- Data.ABC.Internal.FRAIG: fUseBdds'Prove_Params :: Prove_Params_t_ -> Bool
- Data.ABC.Internal.FRAIG: fUseFraiging'Prove_Params :: Prove_Params_t_ -> Bool
- Data.ABC.Internal.FRAIG: fUseRewriting'Prove_Params :: Prove_Params_t_ -> Bool
- Data.ABC.Internal.FRAIG: fVerbose'Prove_Params :: Prove_Params_t_ -> Bool
- Data.ABC.Internal.FRAIG: instance Eq Prove_Params_t_
- Data.ABC.Internal.FRAIG: instance Read Prove_Params_t_
- Data.ABC.Internal.FRAIG: instance Show Prove_Params_t_
- Data.ABC.Internal.FRAIG: instance Storable Prove_Params_t_
- Data.ABC.Internal.FRAIG: nBddSizeLimit'Prove_Params :: Prove_Params_t_ -> Int
- Data.ABC.Internal.FRAIG: nFraigingLimitMulti'Prove_Params :: Prove_Params_t_ -> Float
- Data.ABC.Internal.FRAIG: nFraigingLimitStart'Prove_Params :: Prove_Params_t_ -> Int
- Data.ABC.Internal.FRAIG: nItersMax'Prove_Params :: Prove_Params_t_ -> Int
- Data.ABC.Internal.FRAIG: nMiteringLimitLast'Prove_Params :: Prove_Params_t_ -> Int
- Data.ABC.Internal.FRAIG: nMiteringLimitMulti'Prove_Params :: Prove_Params_t_ -> Float
- Data.ABC.Internal.FRAIG: nMiteringLimitStart'Prove_Params :: Prove_Params_t_ -> Int
- Data.ABC.Internal.FRAIG: nRewritingLimitMulti'Prove_Params :: Prove_Params_t_ -> Float
- Data.ABC.Internal.FRAIG: nRewritingLimitStart'Prove_Params :: Prove_Params_t_ -> Int
- Data.ABC.Internal.FRAIG: nTotalBacktrackLimit'Prove_Params :: Prove_Params_t_ -> Int64
- Data.ABC.Internal.FRAIG: nTotalBacktracksMade'Prove_Params :: Prove_Params_t_ -> Int64
- Data.ABC.Internal.FRAIG: nTotalInspectLimit'Prove_Params :: Prove_Params_t_ -> Int64
- Data.ABC.Internal.FRAIG: nTotalInspectsMade'Prove_Params :: Prove_Params_t_ -> Int64
- Data.ABC.Internal.Field: readAt :: Field a b -> a -> IO b
- Data.ABC.Internal.Field: writeAt :: Field a b -> a -> b -> IO ()
- Data.ABC.Internal.GIA: instance Eq GiaLit
- Data.ABC.Internal.GIA: instance Eq GiaVar
- Data.ABC.Internal.GIA: instance Ord GiaLit
- Data.ABC.Internal.GIA: instance Ord GiaVar
- Data.ABC.Internal.GIA: instance Storable GiaLit
- Data.ABC.Internal.GIA: instance Storable GiaVar
- Data.ABC.Internal.GIA: unGiaLit :: GiaLit -> CInt
- Data.ABC.Internal.GIA: unGiaVar :: GiaVar -> CInt
+ Data.ABC.AIG: [Network] :: Network l g
+ Data.ABC.AIG: [SomeGraph] :: SomeGraph g
+ Data.ABC.AIG: instance Data.AIG.Interface.IsAIG Data.ABC.AIG.Lit Data.ABC.AIG.AIG
+ Data.ABC.AIG: instance Data.AIG.Interface.IsLit Data.ABC.AIG.Lit
+ Data.ABC.AIG: instance Data.AIG.Trace.Traceable Data.ABC.AIG.Lit
+ Data.ABC.AIG: instance Foreign.Storable.Storable (Data.ABC.AIG.Lit s)
+ Data.ABC.AIG: instance GHC.Classes.Eq (Data.ABC.AIG.Lit s)
+ Data.ABC.AIG: instance GHC.Classes.Ord (Data.ABC.AIG.Lit s)
+ Data.ABC.GIA: [Network] :: Network l g
+ Data.ABC.GIA: [SomeGraph] :: SomeGraph g
+ Data.ABC.GIA: instance Data.AIG.Interface.IsAIG Data.ABC.GIA.Lit Data.ABC.GIA.GIA
+ Data.ABC.GIA: instance Data.AIG.Interface.IsLit Data.ABC.GIA.Lit
+ Data.ABC.GIA: instance Data.AIG.Trace.Traceable Data.ABC.GIA.Lit
+ Data.ABC.GIA: instance Foreign.Storable.Storable (Data.ABC.GIA.Lit s)
+ Data.ABC.GIA: instance GHC.Classes.Eq (Data.ABC.GIA.Lit s)
+ Data.ABC.GIA: instance GHC.Classes.Ord (Data.ABC.GIA.Lit s)
+ Data.ABC.Internal.ABC: instance GHC.Classes.Eq Data.ABC.Internal.ABC.Abc_InitType_t
+ Data.ABC.Internal.ABC: instance GHC.Classes.Eq Data.ABC.Internal.ABC.Abc_NtkFunc_t
+ Data.ABC.Internal.ABC: instance GHC.Classes.Eq Data.ABC.Internal.ABC.Abc_NtkType_t
+ Data.ABC.Internal.ABC: instance GHC.Classes.Eq Data.ABC.Internal.ABC.Abc_ObjType_t
+ Data.ABC.Internal.ABC: instance GHC.Enum.Enum Data.ABC.Internal.ABC.Abc_InitType_t
+ Data.ABC.Internal.ABC: instance GHC.Enum.Enum Data.ABC.Internal.ABC.Abc_NtkFunc_t
+ Data.ABC.Internal.ABC: instance GHC.Enum.Enum Data.ABC.Internal.ABC.Abc_NtkType_t
+ Data.ABC.Internal.ABC: instance GHC.Enum.Enum Data.ABC.Internal.ABC.Abc_ObjType_t
+ Data.ABC.Internal.ABC: instance GHC.Show.Show Data.ABC.Internal.ABC.Abc_InitType_t
+ Data.ABC.Internal.ABC: instance GHC.Show.Show Data.ABC.Internal.ABC.Abc_NtkFunc_t
+ Data.ABC.Internal.ABC: instance GHC.Show.Show Data.ABC.Internal.ABC.Abc_NtkType_t
+ Data.ABC.Internal.ABC: instance GHC.Show.Show Data.ABC.Internal.ABC.Abc_ObjType_t
+ Data.ABC.Internal.ABCGlobal: [iFrame'Abc_Cex] :: Abc_Cex_t_ -> Int
+ Data.ABC.Internal.ABCGlobal: [iPo'Abc_Cex] :: Abc_Cex_t_ -> Int
+ Data.ABC.Internal.ABCGlobal: [nBits'Abc_Cex] :: Abc_Cex_t_ -> Int
+ Data.ABC.Internal.ABCGlobal: [nPis'Abc_Cex] :: Abc_Cex_t_ -> Int
+ Data.ABC.Internal.ABCGlobal: [nRegs'Abc_Cex] :: Abc_Cex_t_ -> Int
+ Data.ABC.Internal.ABCGlobal: [pData'inputs'Abc_Cex] :: Abc_Cex_t_ -> [[Bool]]
+ Data.ABC.Internal.ABCGlobal: [pData'regs'Abc_Cex] :: Abc_Cex_t_ -> [Bool]
+ Data.ABC.Internal.ABCGlobal: instance GHC.Classes.Eq Data.ABC.Internal.ABCGlobal.Abc_Cex_t_
+ Data.ABC.Internal.ABCGlobal: instance GHC.Read.Read Data.ABC.Internal.ABCGlobal.Abc_Cex_t_
+ Data.ABC.Internal.ABCGlobal: instance GHC.Show.Show Data.ABC.Internal.ABCGlobal.Abc_Cex_t_
+ Data.ABC.Internal.AIG: instance GHC.Classes.Eq Data.ABC.Internal.AIG.Aig_Type_t
+ Data.ABC.Internal.AIG: instance GHC.Enum.Enum Data.ABC.Internal.AIG.Aig_Type_t
+ Data.ABC.Internal.AIG: instance GHC.Show.Show Data.ABC.Internal.AIG.Aig_Type_t
+ Data.ABC.Internal.CEC: [fCheckMiter'Cec_ParSat] :: Cec_ParSat_t_ -> Bool
+ Data.ABC.Internal.CEC: [fLearnCls'Cec_ParSat] :: Cec_ParSat_t_ -> Bool
+ Data.ABC.Internal.CEC: [fNaive'Cec_ParCec] :: Cec_ParCec_t_ -> Bool
+ Data.ABC.Internal.CEC: [fNonChrono'Cec_ParSat] :: Cec_ParSat_t_ -> Bool
+ Data.ABC.Internal.CEC: [fPolarFlip'Cec_ParSat] :: Cec_ParSat_t_ -> Bool
+ Data.ABC.Internal.CEC: [fRewriting'Cec_ParCec] :: Cec_ParCec_t_ -> Bool
+ Data.ABC.Internal.CEC: [fUseSmartCnf'Cec_ParCec] :: Cec_ParCec_t_ -> Bool
+ Data.ABC.Internal.CEC: [fVerbose'Cec_ParCec] :: Cec_ParCec_t_ -> Bool
+ Data.ABC.Internal.CEC: [fVerbose'Cec_ParSat] :: Cec_ParSat_t_ -> Bool
+ Data.ABC.Internal.CEC: [fVeryVerbose'Cec_ParCec] :: Cec_ParCec_t_ -> Bool
+ Data.ABC.Internal.CEC: [iOutFail'Cec_ParCec] :: Cec_ParCec_t_ -> Int
+ Data.ABC.Internal.CEC: [nBTLimit'Cec_ParCec] :: Cec_ParCec_t_ -> Int
+ Data.ABC.Internal.CEC: [nBTLimit'Cec_ParSat] :: Cec_ParSat_t_ -> CInt
+ Data.ABC.Internal.CEC: [nCallsRecycle'Cec_ParSat] :: Cec_ParSat_t_ -> CInt
+ Data.ABC.Internal.CEC: [nSatVarMax'Cec_ParSat] :: Cec_ParSat_t_ -> CInt
+ Data.ABC.Internal.CEC: [nTimeLimit'Cec_ParCec] :: Cec_ParCec_t_ -> Int
+ Data.ABC.Internal.CEC: instance Foreign.Storable.Storable Data.ABC.Internal.CEC.Cec_ParCec_t_
+ Data.ABC.Internal.CEC: instance Foreign.Storable.Storable Data.ABC.Internal.CEC.Cec_ParSat_t_
+ Data.ABC.Internal.CEC: instance GHC.Classes.Eq Data.ABC.Internal.CEC.Cec_ParCec_t_
+ Data.ABC.Internal.CEC: instance GHC.Classes.Eq Data.ABC.Internal.CEC.Cec_ParSat_t_
+ Data.ABC.Internal.CEC: instance GHC.Read.Read Data.ABC.Internal.CEC.Cec_ParCec_t_
+ Data.ABC.Internal.CEC: instance GHC.Read.Read Data.ABC.Internal.CEC.Cec_ParSat_t_
+ Data.ABC.Internal.CEC: instance GHC.Show.Show Data.ABC.Internal.CEC.Cec_ParCec_t_
+ Data.ABC.Internal.CEC: instance GHC.Show.Show Data.ABC.Internal.CEC.Cec_ParSat_t_
+ Data.ABC.Internal.FRAIG: [fBddReorder'Prove_Params] :: Prove_Params_t_ -> Bool
+ Data.ABC.Internal.FRAIG: [fUseBdds'Prove_Params] :: Prove_Params_t_ -> Bool
+ Data.ABC.Internal.FRAIG: [fUseFraiging'Prove_Params] :: Prove_Params_t_ -> Bool
+ Data.ABC.Internal.FRAIG: [fUseRewriting'Prove_Params] :: Prove_Params_t_ -> Bool
+ Data.ABC.Internal.FRAIG: [fVerbose'Prove_Params] :: Prove_Params_t_ -> Bool
+ Data.ABC.Internal.FRAIG: [nBddSizeLimit'Prove_Params] :: Prove_Params_t_ -> Int
+ Data.ABC.Internal.FRAIG: [nFraigingLimitMulti'Prove_Params] :: Prove_Params_t_ -> Float
+ Data.ABC.Internal.FRAIG: [nFraigingLimitStart'Prove_Params] :: Prove_Params_t_ -> Int
+ Data.ABC.Internal.FRAIG: [nItersMax'Prove_Params] :: Prove_Params_t_ -> Int
+ Data.ABC.Internal.FRAIG: [nMiteringLimitLast'Prove_Params] :: Prove_Params_t_ -> Int
+ Data.ABC.Internal.FRAIG: [nMiteringLimitMulti'Prove_Params] :: Prove_Params_t_ -> Float
+ Data.ABC.Internal.FRAIG: [nMiteringLimitStart'Prove_Params] :: Prove_Params_t_ -> Int
+ Data.ABC.Internal.FRAIG: [nRewritingLimitMulti'Prove_Params] :: Prove_Params_t_ -> Float
+ Data.ABC.Internal.FRAIG: [nRewritingLimitStart'Prove_Params] :: Prove_Params_t_ -> Int
+ Data.ABC.Internal.FRAIG: [nTotalBacktrackLimit'Prove_Params] :: Prove_Params_t_ -> Int64
+ Data.ABC.Internal.FRAIG: [nTotalBacktracksMade'Prove_Params] :: Prove_Params_t_ -> Int64
+ Data.ABC.Internal.FRAIG: [nTotalInspectLimit'Prove_Params] :: Prove_Params_t_ -> Int64
+ Data.ABC.Internal.FRAIG: [nTotalInspectsMade'Prove_Params] :: Prove_Params_t_ -> Int64
+ Data.ABC.Internal.FRAIG: instance Foreign.Storable.Storable Data.ABC.Internal.FRAIG.Prove_Params_t_
+ Data.ABC.Internal.FRAIG: instance GHC.Classes.Eq Data.ABC.Internal.FRAIG.Prove_Params_t_
+ Data.ABC.Internal.FRAIG: instance GHC.Read.Read Data.ABC.Internal.FRAIG.Prove_Params_t_
+ Data.ABC.Internal.FRAIG: instance GHC.Show.Show Data.ABC.Internal.FRAIG.Prove_Params_t_
+ Data.ABC.Internal.Field: [readAt] :: Field a b -> a -> IO b
+ Data.ABC.Internal.Field: [writeAt] :: Field a b -> a -> b -> IO ()
+ Data.ABC.Internal.GIA: [unGiaLit] :: GiaLit -> CInt
+ Data.ABC.Internal.GIA: [unGiaVar] :: GiaVar -> CInt
+ Data.ABC.Internal.GIA: instance Foreign.Storable.Storable Data.ABC.Internal.GIA.GiaLit
+ Data.ABC.Internal.GIA: instance Foreign.Storable.Storable Data.ABC.Internal.GIA.GiaVar
+ Data.ABC.Internal.GIA: instance GHC.Classes.Eq Data.ABC.Internal.GIA.GiaLit
+ Data.ABC.Internal.GIA: instance GHC.Classes.Eq Data.ABC.Internal.GIA.GiaVar
+ Data.ABC.Internal.GIA: instance GHC.Classes.Ord Data.ABC.Internal.GIA.GiaLit
+ Data.ABC.Internal.GIA: instance GHC.Classes.Ord Data.ABC.Internal.GIA.GiaVar
- Data.ABC.AIG: (===) :: IsLit l => l s -> l s -> Bool
+ Data.ABC.AIG: (===) :: l s -> l s -> Bool
- Data.ABC.AIG: Sat :: SrictNotUnpacked[Bool] -> SatResult
+ Data.ABC.AIG: Sat :: ~[Bool] -> SatResult
- Data.ABC.AIG: abstractEvaluateAIG :: IsAIG l g => g s -> (LitView a -> IO a) -> IO (l s -> IO a)
+ Data.ABC.AIG: abstractEvaluateAIG :: g s -> (LitView a -> IO a) -> IO (l s -> IO a)
- Data.ABC.AIG: aigerNetwork :: IsAIG l g => Proxy l g -> FilePath -> IO (Network l g)
+ Data.ABC.AIG: aigerNetwork :: Proxy l g -> FilePath -> IO (Network l g)
- Data.ABC.AIG: and :: IsAIG l g => g s -> l s -> l s -> IO (l s)
+ Data.ABC.AIG: and :: g s -> l s -> l s -> IO (l s)
- Data.ABC.AIG: ands :: IsAIG l g => g s -> [l s] -> IO (l s)
+ Data.ABC.AIG: ands :: g s -> [l s] -> IO (l s)
- Data.ABC.AIG: asConstant :: IsAIG l g => g s -> l s -> Maybe Bool
+ Data.ABC.AIG: asConstant :: g s -> l s -> Maybe Bool
- Data.ABC.AIG: cec :: IsAIG l g => Network l g -> Network l g -> IO VerifyResult
+ Data.ABC.AIG: cec :: Network l g -> Network l g -> IO VerifyResult
- Data.ABC.AIG: checkSat :: IsAIG l g => g s -> l s -> IO SatResult
+ Data.ABC.AIG: checkSat :: g s -> l s -> IO SatResult
- Data.ABC.AIG: constant :: IsAIG l g => g s -> Bool -> l s
+ Data.ABC.AIG: constant :: g s -> Bool -> l s
- Data.ABC.AIG: eq :: IsAIG l g => g s -> l s -> l s -> IO (l s)
+ Data.ABC.AIG: eq :: g s -> l s -> l s -> IO (l s)
- Data.ABC.AIG: evaluate :: IsAIG l g => Network l g -> [Bool] -> IO [Bool]
+ Data.ABC.AIG: evaluate :: Network l g -> [Bool] -> IO [Bool]
- Data.ABC.AIG: evaluator :: IsAIG l g => g s -> [Bool] -> IO (l s -> Bool)
+ Data.ABC.AIG: evaluator :: g s -> [Bool] -> IO (l s -> Bool)
- Data.ABC.AIG: falseLit :: IsAIG l g => g s -> l s
+ Data.ABC.AIG: falseLit :: g s -> l s
- Data.ABC.AIG: getInput :: IsAIG l g => g s -> Int -> IO (l s)
+ Data.ABC.AIG: getInput :: g s -> Int -> IO (l s)
- Data.ABC.AIG: implies :: IsAIG l g => g s -> l s -> l s -> IO (l s)
+ Data.ABC.AIG: implies :: g s -> l s -> l s -> IO (l s)
- Data.ABC.AIG: inputCount :: IsAIG l g => g s -> IO Int
+ Data.ABC.AIG: inputCount :: g s -> IO Int
- Data.ABC.AIG: litView :: IsAIG l g => g s -> l s -> IO (LitView (l s))
+ Data.ABC.AIG: litView :: g s -> l s -> IO (LitView (l s))
- Data.ABC.AIG: mux :: IsAIG l g => g s -> l s -> l s -> l s -> IO (l s)
+ Data.ABC.AIG: mux :: g s -> l s -> l s -> l s -> IO (l s)
- Data.ABC.AIG: newGraph :: IsAIG l g => Proxy l g -> IO (SomeGraph g)
+ Data.ABC.AIG: newGraph :: Proxy l g -> IO (SomeGraph g)
- Data.ABC.AIG: newInput :: IsAIG l g => g s -> IO (l s)
+ Data.ABC.AIG: newInput :: g s -> IO (l s)
- Data.ABC.AIG: not :: IsLit l => l s -> l s
+ Data.ABC.AIG: not :: l s -> l s
- Data.ABC.AIG: or :: IsAIG l g => g s -> l s -> l s -> IO (l s)
+ Data.ABC.AIG: or :: g s -> l s -> l s -> IO (l s)
- Data.ABC.AIG: trueLit :: IsAIG l g => g s -> l s
+ Data.ABC.AIG: trueLit :: g s -> l s
- Data.ABC.AIG: withNewGraph :: IsAIG l g => Proxy l g -> (forall s. g s -> IO a) -> IO a
+ Data.ABC.AIG: withNewGraph :: Proxy l g -> (forall s. g s -> IO a) -> IO a
- Data.ABC.AIG: writeAiger :: IsAIG l g => FilePath -> Network l g -> IO ()
+ Data.ABC.AIG: writeAiger :: FilePath -> Network l g -> IO ()
- Data.ABC.AIG: writeCNF :: IsAIG l g => g s -> l s -> FilePath -> IO [Int]
+ Data.ABC.AIG: writeCNF :: g s -> l s -> FilePath -> IO [Int]
- Data.ABC.AIG: xor :: IsAIG l g => g s -> l s -> l s -> IO (l s)
+ Data.ABC.AIG: xor :: g s -> l s -> l s -> IO (l s)
- Data.ABC.GIA: (===) :: IsLit l => l s -> l s -> Bool
+ Data.ABC.GIA: (===) :: l s -> l s -> Bool
- Data.ABC.GIA: And :: SrictNotUnpackeda -> SrictNotUnpackeda -> LitView a
+ Data.ABC.GIA: And :: ~a -> ~a -> LitView a
- Data.ABC.GIA: Input :: SrictNotUnpackedInt -> LitView a
+ Data.ABC.GIA: Input :: ~Int -> LitView a
- Data.ABC.GIA: NotAnd :: SrictNotUnpackeda -> SrictNotUnpackeda -> LitView a
+ Data.ABC.GIA: NotAnd :: ~a -> ~a -> LitView a
- Data.ABC.GIA: NotInput :: SrictNotUnpackedInt -> LitView a
+ Data.ABC.GIA: NotInput :: ~Int -> LitView a
- Data.ABC.GIA: Sat :: SrictNotUnpacked[Bool] -> SatResult
+ Data.ABC.GIA: Sat :: ~[Bool] -> SatResult
- Data.ABC.GIA: abstractEvaluateAIG :: IsAIG l g => g s -> (LitView a -> IO a) -> IO (l s -> IO a)
+ Data.ABC.GIA: abstractEvaluateAIG :: g s -> (LitView a -> IO a) -> IO (l s -> IO a)
- Data.ABC.GIA: aigerNetwork :: IsAIG l g => Proxy l g -> FilePath -> IO (Network l g)
+ Data.ABC.GIA: aigerNetwork :: Proxy l g -> FilePath -> IO (Network l g)
- Data.ABC.GIA: and :: IsAIG l g => g s -> l s -> l s -> IO (l s)
+ Data.ABC.GIA: and :: g s -> l s -> l s -> IO (l s)
- Data.ABC.GIA: ands :: IsAIG l g => g s -> [l s] -> IO (l s)
+ Data.ABC.GIA: ands :: g s -> [l s] -> IO (l s)
- Data.ABC.GIA: asConstant :: IsAIG l g => g s -> l s -> Maybe Bool
+ Data.ABC.GIA: asConstant :: g s -> l s -> Maybe Bool
- Data.ABC.GIA: cec :: IsAIG l g => Network l g -> Network l g -> IO VerifyResult
+ Data.ABC.GIA: cec :: Network l g -> Network l g -> IO VerifyResult
- Data.ABC.GIA: checkSat :: IsAIG l g => g s -> l s -> IO SatResult
+ Data.ABC.GIA: checkSat :: g s -> l s -> IO SatResult
- Data.ABC.GIA: constant :: IsAIG l g => g s -> Bool -> l s
+ Data.ABC.GIA: constant :: g s -> Bool -> l s
- Data.ABC.GIA: eq :: IsAIG l g => g s -> l s -> l s -> IO (l s)
+ Data.ABC.GIA: eq :: g s -> l s -> l s -> IO (l s)
- Data.ABC.GIA: evaluate :: IsAIG l g => Network l g -> [Bool] -> IO [Bool]
+ Data.ABC.GIA: evaluate :: Network l g -> [Bool] -> IO [Bool]
- Data.ABC.GIA: evaluator :: IsAIG l g => g s -> [Bool] -> IO (l s -> Bool)
+ Data.ABC.GIA: evaluator :: g s -> [Bool] -> IO (l s -> Bool)
- Data.ABC.GIA: falseLit :: IsAIG l g => g s -> l s
+ Data.ABC.GIA: falseLit :: g s -> l s
- Data.ABC.GIA: getInput :: IsAIG l g => g s -> Int -> IO (l s)
+ Data.ABC.GIA: getInput :: g s -> Int -> IO (l s)
- Data.ABC.GIA: implies :: IsAIG l g => g s -> l s -> l s -> IO (l s)
+ Data.ABC.GIA: implies :: g s -> l s -> l s -> IO (l s)
- Data.ABC.GIA: inputCount :: IsAIG l g => g s -> IO Int
+ Data.ABC.GIA: inputCount :: g s -> IO Int
- Data.ABC.GIA: litView :: IsAIG l g => g s -> l s -> IO (LitView (l s))
+ Data.ABC.GIA: litView :: g s -> l s -> IO (LitView (l s))
- Data.ABC.GIA: mux :: IsAIG l g => g s -> l s -> l s -> l s -> IO (l s)
+ Data.ABC.GIA: mux :: g s -> l s -> l s -> l s -> IO (l s)
- Data.ABC.GIA: newGraph :: IsAIG l g => Proxy l g -> IO (SomeGraph g)
+ Data.ABC.GIA: newGraph :: Proxy l g -> IO (SomeGraph g)
- Data.ABC.GIA: newInput :: IsAIG l g => g s -> IO (l s)
+ Data.ABC.GIA: newInput :: g s -> IO (l s)
- Data.ABC.GIA: not :: IsLit l => l s -> l s
+ Data.ABC.GIA: not :: l s -> l s
- Data.ABC.GIA: or :: IsAIG l g => g s -> l s -> l s -> IO (l s)
+ Data.ABC.GIA: or :: g s -> l s -> l s -> IO (l s)
- Data.ABC.GIA: trueLit :: IsAIG l g => g s -> l s
+ Data.ABC.GIA: trueLit :: g s -> l s
- Data.ABC.GIA: withNewGraph :: IsAIG l g => Proxy l g -> (forall s. g s -> IO a) -> IO a
+ Data.ABC.GIA: withNewGraph :: Proxy l g -> (forall s. g s -> IO a) -> IO a
- Data.ABC.GIA: writeAiger :: IsAIG l g => FilePath -> Network l g -> IO ()
+ Data.ABC.GIA: writeAiger :: FilePath -> Network l g -> IO ()
- Data.ABC.GIA: writeCNF :: IsAIG l g => g s -> l s -> FilePath -> IO [Int]
+ Data.ABC.GIA: writeCNF :: g s -> l s -> FilePath -> IO [Int]
- Data.ABC.GIA: xor :: IsAIG l g => g s -> l s -> l s -> IO (l s)
+ Data.ABC.GIA: xor :: g s -> l s -> l s -> IO (l s)
Files
- abc-build/.hg_archival.txt +3/−3
- abc-build/galois-abcBridge.version +1/−1
- abcBridge.cabal +9/−2
- cbits/pthread_stubs.c +1/−1
- scripts/build-abc.sh +43/−12
- src/Data/ABC.hs +4/−0
- src/Data/ABC/AIG.hs +6/−8
- src/Data/ABC/GIA.hs +3/−7
- tests/Tests/Basic.hs +3/−5
- tests/Tests/Operations.hs +1/−1
abc-build/.hg_archival.txt view
@@ -1,5 +1,5 @@ repo: 27f68cec826fd69da083a19ad1384a074eb56f73-node: c16b9de6d2b4c7c267517efb75e50baf33a5d6f7-branch: galois-abcBridge-0.14-dev+node: 758ca61dba9ee9403b5e723b2dbdb49670d6616f+branch: galois-abcBridge-0.15-dev latesttag: null-latesttagdistance: 2713+latesttagdistance: 2716
abc-build/galois-abcBridge.version view
@@ -1,1 +1,1 @@-0.14+0.15
abcBridge.cabal view
@@ -1,5 +1,5 @@ Name: abcBridge-Version: 0.14+Version: 0.15 Synopsis: Bindings for ABC, A System for Sequential Synthesis and Verification Description: Bindings for ABC focused on creating And-Inverter@@ -56,7 +56,6 @@ Data.ABC.Util Default-Language: Haskell98 Default-Extensions: ForeignFunctionInterface,- CPP, FlexibleContexts, MultiParamTypeClasses, EmptyDataDecls@@ -71,7 +70,11 @@ } if os(windows) {+ if arch(x86_64) {+ CC-options: -D_WIN64 -DHAVE_STRUCT_TIMESPEC+ } else { Cc-options: -D_WIN32+ } } if !os(windows) {@@ -87,6 +90,7 @@ Build-depends: base == 4.*,+ base-compat >= 0.6.0, aig >= 0.2.3, containers, directory,@@ -116,6 +120,7 @@ abc-test.hs build-depends: base == 4.*,+ base-compat >= 0.6.0, abcBridge, aig, directory,@@ -143,6 +148,7 @@ buildable: True build-depends: base == 4.*,+ base-compat >= 0.6.0, abcBridge, aig, directory,@@ -172,4 +178,5 @@ long-test.hs build-depends: base == 4.*,+ base-compat >= 0.6.0, abcBridge
cbits/pthread_stubs.c view
@@ -11,7 +11,7 @@ #include <stdlib.h> #include <stdio.h> -#ifdef _WIN32+#if defined(_WIN32) || defined(_WIN64) #include "../abc-build/lib/pthread.h" #else
scripts/build-abc.sh view
@@ -1,4 +1,4 @@-#!/bin/sh+#!/bin/bash # bail out immediately if any command fails set -e@@ -22,18 +22,49 @@ -R .debug_ranges \ -R .debug_str" -# Select architecture-dependent compiler flags-case "$ARCH" in- "I386") A="-m32 -DLIN -DSIZEOF_VOID_P=4 -DSIZEOF_LONG=4 -DSIZEOF_INT=4" ;;- "X86_64") A="-m64 -fPIC -DLIN64 -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=8 -DSIZEOF_INT=4" ;;- *) echo "Unknown architecture: $ARCH" ; exit 2 ;;-esac--# Set up some OS-dependent flags and actions+# Select architecture- and OS-dependent compiler flags case "$OS" in- "Linux") S="" ;;- "OSX") S="" ;;- "Windows") S="libabc.dll" ; A="-m32 -DWIN32_NO_DLL -DABC_NO_DYNAMIC_LINKING -DLIN -DNT -UWIN32 -DSIZEOF_VOID_P=4 -DSIZEOF_LONG=4 -DSIZEOF_INT=4 -DPTW32_STATIC_LIB -UZLIB_DLL -lmsvcrt -Wl,--undefined=___strtod,--wrap,strtod,--defsym,___wrap_strtod=___strtod" ; REMOVE_CMD="objcopy ${REMOVE_ARGS}" ;;+ "Linux" | "OSX")+ S=""+ case "$ARCH" in+ "I386") A="-m32 -DLIN -DSIZEOF_VOID_P=4 -DSIZEOF_LONG=4 -DSIZEOF_INT=4" ;;+ "X86_64") A="-m64 -fPIC -DLIN64 -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=8 -DSIZEOF_INT=4" ;;+ *) echo "Unknown architecture: $ARCH" ; exit 2 ;;+ esac ;;+ "Windows")+ S="libabc.dll"+ REMOVE_CMD="objcopy ${REMOVE_ARGS}"+ case "$ARCH" in+ "I386")+ A="-m32 \+ -DWIN32_NO_DLL \+ -DABC_NO_DYNAMIC_LINKING \+ -DLIN \+ -DNT \+ -D_WIN32 \+ -UWIN32 \+ -DSIZEOF_VOID_P=4 -DSIZEOF_LONG=4 -DSIZEOF_INT=4 \+ -DPTW32_STATIC_LIB \+ -UZLIB_DLL \+ -lmsvcrt \+ -Wl,--undefined=___strtod,--wrap,strtod,--defsym,___wrap_strtod=___strtod" ;;++ "X86_64")+ # The `SIZEOF_*` arguments came from printing the+ # corresponding `sizeof` results (using+ # `abc-build/arch_flags.c`) on the Win64 machine. Note that+ # the `SIZEOF_LONG` differs from the Lin64 value.+ A="-m64 \+ -DWIN32_NO_DLL \+ -DABC_NO_DYNAMIC_LINKING \+ -DNT64 \+ -D_WIN64 \+ -UWIN32 \+ -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=4 -DSIZEOF_INT=4 \+ -UZLIB_DLL \+ -lmsvcrt" ;;+ *) echo "Unknown architecture: $ARCH" ; exit 2 ;;+ esac ;; *) echo "Unknown OS: $OS" ; exit 2 ;; esac
src/Data/ABC.hs view
@@ -54,6 +54,10 @@ type AIGLit = AIG.Lit +{-# WARNING aigNetwork, readAigerAsAIG+ "The Data.ABC.AIG module has known bugs (http://github.com/GaloisInc/abcBridge/issues/4) for which solutions do not currently exist. Consider using Data.ABC.GIA instead."+ #-}+ -- | Proxy for AIG interface. aigNetwork :: Proxy AIGLit AIG aigNetwork = AIG.proxy
src/Data/ABC/AIG.hs view
@@ -14,7 +14,6 @@ > import qualified Data.ABC.AIG as AIG -}-{-# LANGUAGE CPP #-} {-# LANGUAGE DoAndIfThenElse #-} {-# LANGUAGE EmptyDataDecls #-} {-# LANGUAGE FlexibleInstances #-}@@ -24,6 +23,9 @@ {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Data.ABC.AIG+{-# WARNING+ "The Data.ABC.AIG module has known bugs (http://github.com/GaloisInc/abcBridge/issues/4) for which solutions do not currently exist. Consider using Data.ABC.GIA instead."+ #-} ( AIG , newAIG , readAiger@@ -43,23 +45,19 @@ , AIG.SomeGraph(..) ) where -import Prelude hiding (and, or, not)+import Prelude ()+import Prelude.Compat hiding (and, or, not) import Foreign -#if !MIN_VERSION_base(4,8,0)-import Control.Applicative-#endif import Control.Exception-import Control.Monad+import Control.Monad.Compat import qualified Data.Vector.Storable as V import qualified Data.Vector.Storable.Mutable as VM import System.IO import qualified System.IO.Unsafe as Unsafe import qualified Data.Map as Map import Data.IORef-- import Data.ABC.Internal.ABC import Data.ABC.Internal.AIG
src/Data/ABC/GIA.hs view
@@ -18,7 +18,6 @@ <http://bvsrc.org/research.html#AIG%20Package> It is a more memory efficient method of storing AIG graphs. -}-{-# LANGUAGE CPP #-} {-# LANGUAGE DoAndIfThenElse #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE Rank2Types #-}@@ -50,19 +49,16 @@ , AIG.VerifyResult(..) ) where -import Prelude hiding (and, not, or)+import Prelude ()+import Prelude.Compat hiding (and, not, or) import qualified Prelude import Control.Exception hiding (evaluate)-import Control.Monad+import Control.Monad.Compat import qualified Data.Map as Map import Data.IORef import qualified Data.AIG as AIG import Data.AIG.Interface (LitView(..)) import qualified Data.AIG.Trace as Tr-#if !MIN_VERSION_base(4,8,0)-import Data.Functor-import Data.Traversable (traverse)-#endif import qualified Data.Vector.Storable as SV import qualified Data.Vector.Unboxed as V
tests/Tests/Basic.hs view
@@ -1,16 +1,14 @@-{-# LANGUAGE CPP #-} {-# LANGUAGE PatternGuards #-} module Tests.Basic ( basic_tests ) where -#if !MIN_VERSION_base(4,8,0)-import Control.Applicative-#endif import Control.Exception-import Control.Monad+import Control.Monad.Compat import System.Directory import System.IO+import Prelude ()+import Prelude.Compat import Test.Tasty import Test.Tasty.HUnit as HU
tests/Tests/Operations.hs view
@@ -1,6 +1,6 @@-{-# LANGUAGE CPP #-} {-# LANGUAGE Rank2Types #-} {-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE CPP #-} module Tests.Operations ( op_tests