From 90043dc9f0b0c0877eaeffa30daf8de2eaa95220 Mon Sep 17 00:00:00 2001 From: Brian Hicks Date: Fri, 10 Jan 2020 11:11:42 -0500 Subject: [PATCH] when blocked, stop quickly --- src/Wave.elm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Wave.elm b/src/Wave.elm index 809c4c3..3a382c4 100644 --- a/src/Wave.elm +++ b/src/Wave.elm @@ -153,7 +153,7 @@ propagate : -> Wave comparable -> Wave comparable propagate todo (Wave wave) = - case todo of + case Debug.log "todo" todo of [] -> -- stack empty, we're done Wave wave @@ -223,7 +223,11 @@ propagateInDirection source cell direction ( Wave wave, todo ) = wave.entropy } , -- TODO: add this as a target for propagation if it's not already in this list - - if not (List.member target todo) then + if Set.isEmpty reduced then + -- we're blocked and should stop immediately + [] + + else if not (List.member target todo) then target :: todo else