flat-mcmc 1.4.2 → 1.5.0
raw patch · 2 files changed
+11/−4 lines, 2 filesdep ~mwc-probabilityPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: mwc-probability
API changes (from Hackage documentation)
- Numeric.MCMC.Flat: mcmc :: Int -> Ensemble -> (Particle -> Double) -> Gen RealWorld -> IO ()
+ Numeric.MCMC.Flat: mcmc :: (MonadIO m, PrimMonad m) => Int -> Ensemble -> (Particle -> Double) -> Gen (PrimState m) -> m ()
Files
- flat-mcmc.cabal +1/−1
- lib/Numeric/MCMC/Flat.hs +10/−3
flat-mcmc.cabal view
@@ -1,5 +1,5 @@ name: flat-mcmc-version: 1.4.2+version: 1.5.0 synopsis: Painless general-purpose sampling. homepage: https://github.com/jtobin/flat-mcmc license: MIT
lib/Numeric/MCMC/Flat.hs view
@@ -42,10 +42,11 @@ ) where import Control.Monad (replicateM)+import Control.Monad.IO.Class (MonadIO, liftIO) import Control.Monad.Par (NFData) import Control.Monad.Par.Combinator (parMap) import Control.Monad.Par.Scheds.Sparks hiding (get)-import Control.Monad.Primitive (PrimMonad, PrimState, RealWorld)+import Control.Monad.Primitive (PrimMonad, PrimState) import Control.Monad.Trans.State.Strict (get, put, execStateT) import Data.Monoid import Data.Sampling.Types as Sampling.Types hiding (Chain(..))@@ -206,11 +207,17 @@ -- -1.1655594505975082,1.1655594505975082 -- 0.5466534497342876,-0.9615123448709006 -- 0.7049046915549257,0.7049046915549257-mcmc :: Int -> Ensemble -> (Particle -> Double) -> Gen RealWorld -> IO ()+mcmc+ :: (MonadIO m, PrimMonad m)+ => Int+ -> Ensemble+ -> (Particle -> Double)+ -> Gen (PrimState m)+ -> m () mcmc n chainPosition target gen = runEffect $ chain Chain {..} gen >-> Pipes.take n- >-> Pipes.mapM_ (T.putStrLn . render)+ >-> Pipes.mapM_ (liftIO . T.putStrLn . render) where chainTarget = Target target Nothing {-# INLINE mcmc #-}