From cacccd5e071b0f46d6caa15826a4a74b5504bf9c Mon Sep 17 00:00:00 2001 From: Eric Mertens Date: Tue, 12 Dec 2023 10:30:26 -0800 Subject: [PATCH] performance fixup --- solutions/src/2023/12.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/solutions/src/2023/12.hs b/solutions/src/2023/12.hs index 2c39450..fb3eb01 100644 --- a/solutions/src/2023/12.hs +++ b/solutions/src/2023/12.hs @@ -56,11 +56,12 @@ ways groups springs = answersA ! (0,0) go groupI springI = let dotCase = answersA ! (groupI, springI + 1) - hashCase = startGroup groupI (springI + 1) + hashCase = startGroup groupI (springI + 1) + {-# Inline hashCase #-} in case arrIx springsA springI of Just '.' -> dotCase Just '#' -> hashCase - Just '?' -> dotCase + hashCase + Just '?' -> hashCase + dotCase Nothing | groupI == groupsN -> 1 _ -> 0 @@ -72,6 +73,7 @@ ways groups springs = answersA ! (0,0) goGroup groupI n springI = let doneCase = answersA ! (groupI, springI + 1) moreCase = goGroup groupI (n-1) (springI + 1) + {-# Inline moreCase #-} in case arrIx springsA springI of Just '.' | n == 0 -> doneCase Just '#' | n > 0 -> moreCase