From dd574d2a49e8987cc6450c1668d98ea74c927c5a Mon Sep 17 00:00:00 2001 From: Brian Hicks Date: Sat, 22 Feb 2020 06:02:52 -0600 Subject: [PATCH] reduce lookups --- src/Wave.elm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/Wave.elm b/src/Wave.elm index b9ac19a..77994fc 100644 --- a/src/Wave.elm +++ b/src/Wave.elm @@ -163,16 +163,17 @@ collapse seed coords (Wave wave) = Just (Open remaining) -> let generator = - wave.weights - |> Dict.toList - |> List.filterMap - (\( k, weight ) -> - if Set.member k remaining then - Just ( toFloat weight, k ) - - else - Nothing + remaining + |> Set.foldl + (\current acc -> + case Dict.get current wave.weights of + Just weight -> + ( toFloat weight, current ) :: acc + + Nothing -> + acc ) + [] |> (\weights -> case weights of [] ->