Skip to content

Instantly share code, notes, and snippets.

@MnO2
Created February 25, 2012 07:02
Show Gist options
  • Save MnO2/1907148 to your computer and use it in GitHub Desktop.
Save MnO2/1907148 to your computer and use it in GitHub Desktop.
haskell word calculation
{-# LANGUAGE BangPatterns #-}
import Data.Word
import Data.List
sum_word :: Word -> Word
sum_word n = k n 0
where k 0 s = s
k !n !s = k (n-1) (s+1)
main = do
print $ sum_word 1000000000
{-# LANGUAGE BangPatterns #-}
import Data.Word
import Data.List
sum_word16 :: Word16 -> Word16
sum_word16 n = k n 0
where k 0 s = s
k !n !s = k (n-1) (s+1)
main = do
print $ sum_word16 10000
{-# LANGUAGE BangPatterns #-}
import Data.Word
import Data.List
sum_word32 :: Word32 -> Word32
sum_word32 n = k n 0
where k 0 s = s
k !n !s = k (n-1) (s+1)
main = do
print $ sum_word32 1000000000
{-# LANGUAGE BangPatterns #-}
import Data.Word
import Data.List
sum_word64 :: Word64 -> Word64
sum_word64 n = k n 0
where k 0 s = s
k !n !s = k (n-1) (s+1)
main = do
print $ sum_word64 1000000000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment