aboutsummaryrefslogtreecommitdiff
path: root/comparison/Haskell
diff options
context:
space:
mode:
authorShinya Sato <shinnya.sato@gmail.com>2022-04-28 21:47:28 +0900
committerShinya Sato <shinnya.sato@gmail.com>2022-04-28 21:47:28 +0900
commit7ea48cd96551247ecc763a5e42404ffa3464d0b0 (patch)
treefd1b63ab48d98a9243d3053522e17e31b9dc033f /comparison/Haskell
parent950e2cb2184cb7ead93ba8df691a190598ed242f (diff)
parent429543c748aaf81b2a4207318eb5a05259469b21 (diff)
downloadinpla-7ea48cd96551247ecc763a5e42404ffa3464d0b0.tar.gz
inpla-7ea48cd96551247ecc763a5e42404ffa3464d0b0.zip
Merge branch 'develop'
Diffstat (limited to 'comparison/Haskell')
-rw-r--r--comparison/Haskell/bsort-40000.hs10
-rw-r--r--comparison/Haskell/isort-40000.hs10
-rw-r--r--comparison/Haskell/msort-800000.hs12
-rw-r--r--comparison/Haskell/qsort-800000.hs12
4 files changed, 38 insertions, 6 deletions
diff --git a/comparison/Haskell/bsort-40000.hs b/comparison/Haskell/bsort-40000.hs
index 401ceaf..90f208c 100644
--- a/comparison/Haskell/bsort-40000.hs
+++ b/comparison/Haskell/bsort-40000.hs
@@ -30,7 +30,15 @@ randomList n = do
return (r:rs)
+validation [] = True
+validation (x:xs) = validation_cons x xs
+validation_cons x [] = True
+validation_cons x (y:ys) =
+ if x<=y then validation_cons y ys
+ else False
+
+
main = do
list <- randomList 40000
let sorted = bsort list
- print (take 10 sorted)
+ print (validation sorted)
diff --git a/comparison/Haskell/isort-40000.hs b/comparison/Haskell/isort-40000.hs
index 1abc148..68200af 100644
--- a/comparison/Haskell/isort-40000.hs
+++ b/comparison/Haskell/isort-40000.hs
@@ -25,7 +25,15 @@ randomList n = do
return (r:rs)
+validation [] = True
+validation (x:xs) = validation_cons x xs
+validation_cons x [] = True
+validation_cons x (y:ys) =
+ if x<=y then validation_cons y ys
+ else False
+
+
main = do
list <- randomList 40000
let sorted = isort list
- print (take 10 sorted)
+ print (validation sorted)
diff --git a/comparison/Haskell/msort-800000.hs b/comparison/Haskell/msort-800000.hs
index eb1a24d..65a5807 100644
--- a/comparison/Haskell/msort-800000.hs
+++ b/comparison/Haskell/msort-800000.hs
@@ -28,6 +28,7 @@ msort xs = merge (msort m, msort n)
main = print $ msort [3,2,8,5]
-}
+
randomList :: Int -> IO([Int])
randomList 0 = return []
randomList n = do
@@ -36,10 +37,15 @@ randomList n = do
return (r:rs)
+validation [] = True
+validation (x:xs) = validation_cons x xs
+validation_cons x [] = True
+validation_cons x (y:ys) =
+ if x<=y then validation_cons y ys
+ else False
+
main = do
list <- randomList 800000
let sorted = msort list
- print (take 10 sorted)
-
-
+ print (validation sorted)
diff --git a/comparison/Haskell/qsort-800000.hs b/comparison/Haskell/qsort-800000.hs
index 2a9d60d..72f7a03 100644
--- a/comparison/Haskell/qsort-800000.hs
+++ b/comparison/Haskell/qsort-800000.hs
@@ -15,10 +15,12 @@ part pivot (x:xs)
where
(below, above) = part pivot xs
+
{-
main = print $ qsort [3,2,8,5]
-}
+
randomList :: Int -> IO([Int])
randomList 0 = return []
randomList n = do
@@ -27,7 +29,15 @@ randomList n = do
return (r:rs)
+validation [] = True
+validation (x:xs) = validation_cons x xs
+validation_cons x [] = True
+validation_cons x (y:ys) =
+ if x<=y then validation_cons y ys
+ else False
+
+
main = do
list <- randomList 800000
let sorted = qsort list
- print (take 10 sorted)
+ print (validation sorted)