glpk-hs 0.0.3 → 0.0.4
raw patch · 6 files changed
+21/−14 lines, 6 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
+ Data.LinearProgram.LPMonad: readLPFromFile :: (MonadState (LP String Double) m, MonadIO m) => FilePath -> m ()
+ Data.LinearProgram.LPMonad: writeLPToFile :: (Ord v, Show v, Real c, MonadState (LP v c) m, MonadIO m) => FilePath -> m ()
Files
- Data/LinearProgram/GLPK/IO.hs +1/−1
- Data/LinearProgram/GLPK/IO/Internal.hs +7/−3
- Data/LinearProgram/GLPK/Solver.hs +3/−3
- Data/LinearProgram/LPMonad.hs +6/−3
- glpk-hs.cabal +2/−2
- glpk/glpk.c +2/−2
Data/LinearProgram/GLPK/IO.hs view
@@ -5,7 +5,7 @@ -- import Data.Map import Data.LinearProgram.Common-import Data.LinearProgram.LPMonad.Internal+-- import Data.LinearProgram.LPMonad.Internal import Data.LinearProgram.GLPK.Common import Data.LinearProgram.GLPK.IO.Internal
Data/LinearProgram/GLPK/IO/Internal.hs view
@@ -5,8 +5,7 @@ import Control.Monad import Control.Monad.Trans --import Data.Map hiding (map)+import Data.Map hiding (map, filter) import Data.LinearProgram.Common import Data.LinearProgram.GLPK.Common@@ -73,7 +72,7 @@ 2 -> liftM LBound (lb i) 3 -> liftM UBound (lb i) 4 -> liftM2 Bound (lb i) (ub i)- 5 -> liftM Equ (lb i)+ _ -> liftM Equ (lb i) getObjCoef :: Int -> GLPK Double getObjCoef = getCDouble glpGetObjCoef@@ -112,6 +111,11 @@ maybe constrain constrain' name (linCombination [(v, names ! j) | (j, v) <- row]) bds | (i, row) <- rowContents]+ obj <- lift $ sequence [do+ c <- getObjCoef i+ return (name, c) | (i, name) <- assocs names]+ setObjective (fromList (filter ((/= 0) . snd) obj))+ writeGLP_LP :: (Show v, Ord v, Real c) => FilePath -> LP v c -> GLPK () writeGLP_LP file lp = do
Data/LinearProgram/GLPK/Solver.hs view
@@ -19,17 +19,17 @@ Cuts(..)) where import Control.Monad-import Control.Monad.Trans+-- import Control.Monad.Trans -- import Debug.Trace import Data.Map-import Data.Maybe (catMaybes)+-- import Data.Maybe (catMaybes) import Data.LinearProgram.Common import Data.LinearProgram.GLPK.Internal import Data.LinearProgram.GLPK.Types -import Data.Time.Clock+-- import Data.Time.Clock -- import System.Time import GHC.Exts(build)
Data/LinearProgram/LPMonad.hs view
@@ -14,13 +14,16 @@ glpSolve, quickSolveMIP', quickSolveLP',- glpSolve') where+ glpSolve',+ -- * File I/O+ writeLPToFile,+ readLPFromFile) where import Control.Monad.State.Strict-import Control.Monad.Identity+-- import Control.Monad.Identity import Data.Map-import Data.Monoid+-- import Data.Monoid import Data.LinearProgram.Common import Data.LinearProgram.LPMonad.Internal
glpk-hs.cabal view
@@ -1,5 +1,5 @@ Name: glpk-hs-Version: 0.0.3+Version: 0.0.4 Author: Louis Wasserman License: GPL License-file: LICENSE@@ -20,7 +20,7 @@ extra-source-files: examples/example1.hs -Build-Depends: base >= 3 && < 5, array, containers, mtl, time+Build-Depends: base >= 4 && < 5, array, containers, mtl, time Exposed-modules: Data.LinearProgram, Data.LinearProgram.Common, Data.LinearProgram.GLPK,
glpk/glpk.c view
@@ -185,9 +185,9 @@ } int c_glp_read_lp(glp_prob *lp, const char * fname){- return glp_read_lp(lp, NULL, fname);+ return glp_read_lp(lp, 0, fname); } int c_glp_write_lp(glp_prob *lp, const char * fname){- return glp_write_lp(lp, NULL, fname);+ return glp_write_lp(lp, 0, fname); }