HSvm 0.1.1.3.25 → 0.1.2.3.25
raw patch · 2 files changed
+13/−14 lines, 2 filesdep ~containersPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: containers
API changes (from Hackage documentation)
Files
- Data/SVM.hs +6/−7
- HSvm.cabal +7/−7
Data/SVM.hs view
@@ -20,7 +20,7 @@ ) where import Control.Exception-import Control.Monad (liftM, when)+import Control.Monad (when) import Data.IntMap (IntMap, toList) import qualified Data.IntMap as M import Data.SVM.Raw (CSvmModel, CSvmNode (..), CSvmParameter,@@ -122,7 +122,7 @@ newCSvmProblem :: Problem -> IO (Ptr CSvmProblem) newCSvmProblem lvs = do nodePtrList <- mapM (newCSvmNodeArray . snd) lvs nodePtrPtr <- newArray nodePtrList- labelPtr <- newArray . map realToFrac $ map fst lvs+ labelPtr <- newArray (map (realToFrac . fst) lvs) let z = fromIntegral . length $ lvs ptr <- malloc poke ptr $ CSvmProblem z labelPtr nodePtrPtr@@ -185,12 +185,12 @@ crossValidate' extra algo kern prob nFold = withProblem prob $ \probPtr -> withParam extra algo kern $ \paramPtr -> do- probLen <- (fromIntegral . R.l) `liftM` peek probPtr+ probLen <- (fromIntegral . R.l) `fmap` peek probPtr allocaArray probLen $ \targetPtr -> do -- (length prob is inefficient) checkParam probPtr paramPtr let c_nFold = fromIntegral nFold c_svm_cross_validation probPtr paramPtr c_nFold targetPtr- map realToFrac `liftM` peekArray probLen targetPtr+ map realToFrac `fmap` peekArray probLen targetPtr -- |Stratified cross validation crossValidate :: Algorithm -> KernelType -> Problem -> Int -> IO [Double]@@ -210,15 +210,14 @@ loadModel :: FilePath -> IO Model loadModel path = do modelPtr <- c_svm_load_model =<< newCString path- Model `liftM` newForeignPtr c_svm_destroy_model modelPtr+ Model `fmap` newForeignPtr c_svm_destroy_model modelPtr -- |Predict a value for 'Vector' by using 'Model' predict :: Model -> Vector -> IO Double predict (Model modelForeignPtr) vector = action where action :: IO Double action = withForeignPtr modelForeignPtr $ \modelPtr ->- withCSvmNodeArray vector $ \vectorPtr ->- realToFrac <$> c_svm_predict modelPtr vectorPtr+ withCSvmNodeArray vector (fmap realToFrac . c_svm_predict modelPtr) -- |Wrapper to change the libsvm output reporting function. --
HSvm.cabal view
@@ -1,30 +1,30 @@+Cabal-Version: 2.2 Name: HSvm-Version: 0.1.1.3.25+Version: 0.1.2.3.25 Copyright: (c) 2009 Paolo Losi, 2017 Pavel Ryzhov Maintainer: Pavel Ryzhov <paul@paulrz.cz>-License: BSD3+License: BSD-3-Clause License-File: LICENSE Author: Paolo Losi <paolo.losi@gmail.com> Category: Datamining, Classification Synopsis: Haskell Bindings for libsvm+Description: The library embeds libsvm and provides a type-safe interface into SVM models. Stability: provisional Build-Type: Simple-Cabal-Version: >= 1.10 Extra-Source-Files: cbits/svm.cpp cbits/svm.h-Description: The library embeds libsvm and provides a type-safe interface into SVM models. source-repository head type: git location: https://github.com/paulrzcz/HSvm.git Library- Default-language: Haskell2010+ Default-Language: Haskell2010 Build-Depends: base >= 4 && < 5- , containers+ , containers >= 0.6.7 && < 0.7 Exposed-modules: Data.SVM , Data.SVM.Raw Includes: svm.h Include-Dirs: cbits- C-Sources: cbits/svm.cpp+ CXX-Sources: cbits/svm.cpp Extra-Libraries: stdc++ Ghc-Options: -Wall