linearEqSolver 2.0 → 2.1
raw patch · 3 files changed
+13/−12 lines, 3 filesdep ~sbvPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: sbv
API changes (from Hackage documentation)
- Math.LinearEquationSolver: data Solver :: *
+ Math.LinearEquationSolver: data Solver
Files
- CHANGES.md +7/−5
- Math/LinearEquationSolver.hs +3/−3
- linearEqSolver.cabal +3/−4
CHANGES.md view
@@ -1,8 +1,12 @@ * Hackage: <http://hackage.haskell.org/package/linearEqSolver> * GitHub: <http://github.com/LeventErkok/linearEqSolver> -* Latest Hackage released version: 2.0+* Latest Hackage released version: 2.1 +### Version 2.1, 2019-5-13+ * Update to compile with more recent versions of SBV. Thanks to+ Colin McKibben for reporting the breakage.+ ### Version 2.0, 2017-10-25 * Use defaultSMTConfig exported from SBV@@ -12,10 +16,8 @@ ### Version 1.3, 2014-08-27 - * Use the Solver type from SBV directly for picking the solver,- avoiding bit-rot.- * Adjust SBV dependency to >= 3.1, to get proper access to- Solver type+ * Use the Solver type from SBV directly for picking the solver, avoiding bit-rot.+ * Adjust SBV dependency to >= 3.1, to get proper access to Solver type ### Version 1.2, 2013-01-02
Math/LinearEquationSolver.hs view
@@ -79,7 +79,7 @@ -- We have: -- -- >>> solveIntegerLinearEqsAll Z3 3 [[2, 3, 4],[6, -3, 9]] [20, -6]--- [[-8,4,6],[-21,2,14],[-34,0,22]]+-- [[-47,-2,30],[-34,0,22],[-21,2,14]] -- -- The solutions you get might differ, depending on what the solver returns. (Though they'll be correct!) solveIntegerLinearEqsAll :: Solver -- ^ SMT Solver to use@@ -125,7 +125,7 @@ -- In this case, the system has infinitely many solutions. We can compute three of them as follows: -- -- >>> solveRationalLinearEqsAll Z3 3 [[2.4, 3.6]] [12]--- [[5 % 1,0 % 1],[13 % 2,(-1) % 1],[8 % 1,(-2) % 1]]+-- [[0 % 1,10 % 3],[3 % 4,17 % 6],[3 % 2,7 % 3]] -- -- The solutions you get might differ, depending on what the solver returns. (Though they'll be correct!) solveRationalLinearEqsAll :: Solver -- ^ SMT Solver to use@@ -140,7 +140,7 @@ cfg = (defaultSolverConfig s) {allSatMaxModelCount = Just maxNo} -- | Build the constraints as given by the coefficient matrix and the resulting vector-buildConstraints :: (Num a, SymWord a) => String -> [[a]] -> [a] -> Symbolic SBool+buildConstraints :: (Ord a, Num a, SymVal a) => String -> [[a]] -> [a] -> Symbolic SBool buildConstraints f coeffs res | m == 0 || any (/= n) ns || m /= length res = error $ f ++ ": received ill-formed input."
linearEqSolver.cabal view
@@ -1,5 +1,5 @@ Name: linearEqSolver-Version: 2.0+Version: 2.1 Category: Math, SMT Synopsis: Use SMT solvers to solve linear systems over integers and rationals Description: Solve linear systems of equations over integers and rationals, using an SMT solver.@@ -19,7 +19,7 @@ Bug-reports: http://github.com/LeventErkok/linearEqSolver/issues Maintainer: Levent Erkok (erkokl@gmail.com) Build-Type: Simple-Cabal-Version: >= 1.14+Cabal-Version: 1.14 Extra-Source-Files: INSTALL, README, COPYRIGHT, CHANGES.md source-repository head@@ -29,6 +29,5 @@ Library default-language: Haskell2010 ghc-options : -Wall- Build-Depends : base >= 4.9 && < 5- , sbv >= 7.3+ Build-Depends : base >= 4.9 && < 5, sbv Exposed-modules : Math.LinearEquationSolver