hmatrix-quadprogpp 0.2.0.2 → 0.3.0.0
raw patch · 2 files changed
+9/−8 lines, 2 filesdep ~hmatrix
Dependency ranges changed: hmatrix
Files
Numeric/Minimization/QuadProgPP.hs view
@@ -9,8 +9,6 @@ import Control.Applicative import Control.Monad import Data.Maybe-import Data.Packed-import Data.Packed.Development import qualified Data.Vector.Storable as VS import Foreign.C.String import Foreign.C.Types (CInt(..))@@ -18,7 +16,10 @@ import Foreign.Marshal.Alloc import Foreign.Ptr import Foreign.Storable+import Numeric.LinearAlgebra.Data+import Numeric.LinearAlgebra.Devel import System.IO.Unsafe (unsafePerformIO)+import Prelude -- | Errors that can happen in 'solveQuadProg'. data QuadProgPPError@@ -55,9 +56,9 @@ = unsafePerformIO $ mat' (Just g) $ \gRow gCol gPtr -> vec' (Just g0) $ \g0Size g0Ptr ->- mat' (trans <$> ce) $ \ceRow ceCol cePtr ->+ mat' (tr <$> ce) $ \ceRow ceCol cePtr -> vec' ce0 $ \ce0Size ce0Ptr ->- mat' (trans <$> ci) $ \ciRow ciCol ciPtr ->+ mat' (tr <$> ci) $ \ciRow ciCol ciPtr -> vec' ci0 $ \ci0Size ci0Ptr -> fromMaybe (return $ Left QuadProgSizeMismatch) $ do let !nVar = gRow@@ -90,9 +91,9 @@ (fromIntegral nVar) in return $ Right (solutionVec, best) where- mat' (Just m) f = mat (cmat m) $ \church -> church $ \nrow ncol ptr -> f nrow ncol ptr+ mat' (Just m) f = appMatrixLen f m mat' Nothing f = f 0 0 nullPtr- vec' (Just v) f = vec v $ \church -> church $ \size ptr -> f size ptr+ vec' (Just v) f = appVectorLen f v vec' Nothing f = f 0 nullPtr split :: Maybe (a, b) -> (Maybe a, Maybe b)
hmatrix-quadprogpp.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: hmatrix-quadprogpp-version: 0.2.0.2+version: 0.3.0.0 synopsis: Bindings to the QuadProg++ quadratic programming library description: Bindings to QuadProg++, a C++ library for quadratic programming.@@ -25,5 +25,5 @@ c-sources: c++/binding.cxx exposed-modules: Numeric.Minimization.QuadProgPP -- other-modules: - build-depends: base >= 4.5 && < 4.9, vector >= 0.9, hmatrix >= 0.14+ build-depends: base >= 4.5 && < 4.9, vector >= 0.9, hmatrix >= 0.16 extra-libraries: QuadProgpp, stdc++