From f8f0cf5a56830cfb4c1e59433e192f9ca01dcb26 Mon Sep 17 00:00:00 2001 From: Mats Rauhala Date: Tue, 1 Jan 2019 17:22:57 +0200 Subject: [PATCH] Some type applications --- src/Main.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Main.hs b/src/Main.hs index ca53156..8922528 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -27,10 +27,10 @@ fingerprint = hash . grey . scale . convertRGB8 scale :: Image PixelRGB8 -> Image PixelRGB8 scale = scaleBilinear 8 8 grey :: Image PixelRGB8 -> Image Pixel8 - grey = pixelMap (\(PixelRGB8 r g b) -> ceiling ((fromIntegral r * 0.3) + (fromIntegral g * 0.59) + (fromIntegral b * 0.11))) + grey = pixelMap (\(PixelRGB8 r g b) -> ceiling ((fromIntegral r * (0.3 :: Double)) + (fromIntegral g * 0.59) + (fromIntegral b * 0.11))) hash :: Image Pixel8 -> Word64 hash img = -- the average fingerprint method - let avg = fromIntegral (foldl' (\acc (x,y) -> acc + fromIntegral (pixelAt img x y)) 0 [(x,y) | x <- [0..7], y <- [0..7]] `div` 64) + let avg = fromIntegral (foldl' (\acc (x,y) -> acc + fromIntegral (pixelAt img x y)) (0 :: Int) [(x,y) | x <- [0..7], y <- [0..7]] `div` 64) in foldr (\(shiftA, b) acc -> if b then 1 `shift` shiftA .|. acc else acc) 0 $ zip [0..] [pixelAt img x y > avg | x <- [0..7], y <- [0..7]] main :: IO ()