X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=advent10%2Fsrc%2Fadvent10.hs;h=376f66757c195708df0658e4591901d8f19b9497;hb=HEAD;hp=ba90ba1429788b160e2b4aaaa95eeb7b03075b7f;hpb=7a21eab3c81fc8d8214c80b0c447b96b9d7c016b;p=advent-of-code-19.git diff --git a/advent10/src/advent10.hs b/advent10/src/advent10.hs index ba90ba1..376f667 100644 --- a/advent10/src/advent10.hs +++ b/advent10/src/advent10.hs @@ -12,7 +12,7 @@ type Position = V2 Rational type Asteroids = S.Set Position -type TargetInfo = (Float, Float) +type TargetInfo = (Double, Double) type Targets = M.Map TargetInfo Position main :: IO () @@ -76,7 +76,7 @@ targetInfo origin target = (angle, range) targetSequence :: Targets -> [Position] targetSequence targets = targetNext ((- pi / 2) - 0.001) targets -targetNext :: Float -> Targets -> [Position] +targetNext :: Double -> Targets -> [Position] targetNext angle targets | M.null targets = [] | M.null possibles = targetNext (- pi) targets @@ -86,7 +86,7 @@ targetNext angle targets targets' = M.delete (targetAngle, targetRange) targets angle' = targetAngle -possibleTargets :: Float -> Targets -> Targets +possibleTargets :: Double -> Targets -> Targets possibleTargets angle targets = M.filterWithKey (\(a, _) _ -> a > angle) targets firstTarget :: Targets -> (TargetInfo, Position)