projects
/
advent-of-code-17.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
About to try optimising my version
[advent-of-code-17.git]
/
src
/
advent15
/
advent15.hs
diff --git
a/src/advent15/advent15.hs
b/src/advent15/advent15.hs
index 6ee03c04cf0c6a6b53cefd98d10cc954cd772c3a..84e2412f7d8cb78219606b03a04f58dd67e06765 100644
(file)
--- a/
src/advent15/advent15.hs
+++ b/
src/advent15/advent15.hs
@@
-23,14
+23,14
@@
generatorB = generator 2147483647 48271
streamA = stream generatorA generatorAStart
streamB = stream generatorB generatorBStart
streamA = stream generatorA generatorAStart
streamB = stream generatorB generatorBStart
-generator ::
Word64 -> Word64 -> Word64 -> Word64
+generator ::
Int -> Int -> Int -> Int
generator divisor factor n = n * factor `rem` divisor
generator divisor factor n = n * factor `rem` divisor
-toWord16 ::
Word64
-> Word16
+toWord16 ::
Int
-> Word16
toWord16 = fromIntegral
toWord16 = fromIntegral
-stream :: (
Word64 -> Word64) -> Word64
-> [Word16]
+stream :: (
Int -> Int) -> Int
-> [Word16]
stream gen n0 = map toWord16 $ drop 1 $ iterate gen n0
filteredStream :: Word16 -> [Word16] -> [Word16]
stream gen n0 = map toWord16 $ drop 1 $ iterate gen n0
filteredStream :: Word16 -> [Word16] -> [Word16]
-filteredStream f
str = filter ((== 0) . ( .&. f)) str
+filteredStream f
= filter ((== 0) . ( .&. f))