summary refs log tree commit diff stats
path: root/tests/benchmarks/quicksort.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/benchmarks/quicksort.nim')
-rw-r--r--tests/benchmarks/quicksort.nim54
1 files changed, 0 insertions, 54 deletions
diff --git a/tests/benchmarks/quicksort.nim b/tests/benchmarks/quicksort.nim
deleted file mode 100644
index 114321492..000000000
--- a/tests/benchmarks/quicksort.nim
+++ /dev/null
@@ -1,54 +0,0 @@
-import os
-import strutils
-
-# Generate some pseudo-random data
-var seed: tuple[s1, s2, s3: int32] = (2'i32, 8'i32, 16'i32)
-
-proc random(): int32 =
-    seed = (((((((seed[0] and 0x0007_FFFF'i32) shl 13'i32) xor seed[0]) shr
-               19'i32) and 0x0000_1FFF'i32) xor
-             ((seed[0] and 0x000F_FFFE'i32) shl 12'i32)),
-
-            ((((((seed[1] and 0x3FFF_FFFF'i32) shl  2'i32) xor seed[1]) shr
-               25'i32) and 0x0000_007F'i32) xor
-             ((seed[1] and 0x0FFF_FFF8'i32) shl  4'i32)),
-
-            ((((((seed[2] and 0x1FFF_FFFF'i32) shl  3'i32) xor seed[2]) shr
-               11'i32) and 0x001F_FFFF'i32) xor
-             ((seed[2] and 0x0000_7FF0'i32) shl 17'i32)))
-    return seed[0] xor seed[1] xor seed[2]
-
-var n = 9999999
-
-var data: seq[int32]
-newSeq(data, n)
-for i in 0 .. data.high():
-    data[i] = random()
-
-
-proc `$`(d: seq[int32]): string =
-    result = "[ "
-    for i in items(d):
-        result.addSep(", ", 2)
-        result.add($(i and 0xFFFF_FFFF'i64))
-    result.add(" ]")
-
-# Sort the data
-proc sort(start, stop: int) =
-    if stop <= start+1:
-        return
-
-    var j = start
-    for i in start..stop-2:
-        if data[i] <% data[stop-1]:
-            swap(data[i], data[j])
-            inc(j)
-    swap(data[j], data[stop-1])
-
-    sort(start, j)
-    sort(j+1, stop)
-
-sort(0, data.len)
-echo(data[n div 2 - 1] and 0xFFFF_FFFF'i64, ", ",
-     data[n div 2] and 0xFFFF_FFFF'i64, ", ",
-     data[n div 2 + 1] and 0xFFFF_FFFF'i64)