never executed always true always false
1 module HelVM.HelMA.Automata.Piet.Types.Hue
2 ( Hue (..)
3 , calculate
4 , hueChange
5 ) where
6
7 import HelVM.HelMA.Automata.Piet.Types.Extra
8
9 calculate ∷ Maybe Hue → Maybe Hue → Maybe Int
10 calculate (Just x) (Just y) = Just $ (fromEnum y - fromEnum x + 6) `mod` 6
11 calculate _ _ = Nothing
12
13 hueChange ∷ Hue → Hue → Hue
14 hueChange = changeDiff 6
15
16 data Hue
17 = Red
18 | Yellow
19 | Green
20 | Cyan
21 | Blue
22 | Magenta
23 deriving stock (Bounded, Enum, Eq, Ord, Read, Show)