diff options
Diffstat (limited to 'src/PPL/Sampling.hs')
-rw-r--r-- | src/PPL/Sampling.hs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/PPL/Sampling.hs b/src/PPL/Sampling.hs index 9a749e9..2d0c380 100644 --- a/src/PPL/Sampling.hs +++ b/src/PPL/Sampling.hs @@ -52,11 +52,12 @@ mh g p m = do mutate :: MonadIO m => StdGen -> IORef (M.HashMap [Int] Double, StdGen) -> m (IORef (M.HashMap [Int] Double, StdGen)) mutate g omega = do (m, g0) <- liftIO $ readIORef omega - let (r:q:_) = R.randoms g + {-let (r:q:_) = R.randoms g ks = M.keys m k = ks !! floor (r * join traceShow (fromIntegral (length ks))) m' = M.insert k q m - liftIO $ newIORef $ (m',g0) + liftIO $ newIORef $ (m',g0)-} + liftIO $ newIORef $ (,g0) $ flip evalState g $ mapM go m where go x = do |