packages feed

srtree 2.0.0.1 → 2.0.0.2

raw patch · 4 files changed

+19/−22 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

apps/egraphGP/Main.hs view
@@ -179,7 +179,7 @@          do runEqSat myCost rewriteBasic2 1             cleanDB             pure ()-       let radius' = if b then (min 20 $ radius+1) else (max 1 $ radius-1)+       let radius' = if b then (max 1 $ min (200 `div` maxSize) (radius+1)) else (max 1 $ radius-1)            nEvs'    = nEvs + if upd then 1 else 0        pure (radius', nEvs')   eclasses <- gets (IntMap.toList . _eClass)@@ -235,15 +235,17 @@      getParetoEcsUpTo n = concat <$> (forM [1..maxSize] $ \i -> getBestEcsOfSize  i n) -    getBestEcsOfSize i n = do-      ecs <- getTopECLassWithSize i n-      Prelude.mapM canonical (Prelude.take n ecs)+    getBestEcsOfSize i n = getTopECLassWithSize i n+      --do+      --ecs <- getTopECLassWithSize i n+      --Prelude.mapM canonical ecs -- (Prelude.take n ecs) -    getBestEcs p n = do-      ecs  <- getTopECLassThat n p+    getBestEcs p n = getTopECLassThat n p+     --do+      --ecs  <- getTopECLassThat n p       --fits <- Prelude.mapM getFitness ecs       --let sorted = sort $ Prelude.zip (Prelude.map (fmap negate) fits) ecs-      Prelude.mapM canonical (Prelude.take n ecs)+      --Prelude.mapM canonical (Prelude.take n ecs)      randomChildFrom ec maxL = do       p <- rnd toss -- whether to go deeper or return this level
src/Algorithm/EqSat/Queries.hs view
@@ -76,17 +76,12 @@                                               else go m bests t getTopECLassWithSize :: Monad m => Int -> Int -> EGraphST m [EClassId] getTopECLassWithSize sz n = do-  gets ((IntMap.!? sz) . _sizeFitDB . _eDB)-    >>= go n []+  go n [] <$> gets ((IntMap.!? sz) . _sizeFitDB . _eDB)+    >>= mapM canonical   where-    go :: Monad m => Int -> [EClassId] -> Maybe (RangeTree Double) -> EGraphST m [EClassId]-    go _ bests Nothing   = pure []-    go 0 bests (Just rt) = pure bests+    -- go :: Monad m => Int -> [EClassId] -> Maybe (RangeTree Double) -> EGraphST m [EClassId]+    go _ bests Nothing   = []+    go 0 bests (Just rt) = bests     go m bests (Just rt) = case rt of-                             Empty   -> pure bests-                             t :|> y -> do let x = snd y-                                           ecId <- canonical x-                                           ec <- gets ((IntMap.! ecId) . _eClass)-                                           if (isInfinite . fromJust . _fitness . _info $ ec)-                                             then pure bests-                                             else go (m-1) (x:bests) (Just t)+                             Empty   -> bests+                             t :|> (f, x) -> if isInfinite f then bests else go (m-1) (x:bests) (Just t)
srtree.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           srtree-version:        2.0.0.1+version:        2.0.0.2 synopsis:       A general library to work with Symbolic Regression expression trees. description:    A Symbolic Regression Tree data structure to work with mathematical expressions with support to first order derivative and simplification; category:       Math, Data, Data Structures
test/Spec.hs view
@@ -72,7 +72,7 @@ -- we must relabel the parameters of the expression to sequence values --gradVals :: [(Double, [Double])] gradVals = map (M.toList . snd . forwardModeUnique xs' thetaSingle err . relabelParams) exprs-gradVals' = map (M.toList . snd . reverseModeUnique xs' thetaSingle err . relabelParams) exprs+--gradVals' = map (M.toList . snd . reverseModeUnique xs' thetaSingle err . relabelParams) exprs  -- values of the evaluated expressions --exprVals :: [Double]@@ -88,7 +88,7 @@ tests = TestList $      zipWith (testDiff "forward mode" "autodiff x forward mode") autoDiffMult forwardVals   <> zipWith (testDiff "forward mode" "autodiff x forward mode unique") autoDiffSingle gradVals-  <> zipWith (testDiff "reverse mode" "autodiff x reverse mode unique") autoDiffSingle gradVals'+  -- <> zipWith (testDiff "reverse mode" "autodiff x reverse mode unique") autoDiffSingle gradVals'  main :: IO () main = do