diff options
Diffstat (limited to 'test/cminor/qsort.cm')
-rw-r--r-- | test/cminor/qsort.cm | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/test/cminor/qsort.cm b/test/cminor/qsort.cm deleted file mode 100644 index 8c735843..00000000 --- a/test/cminor/qsort.cm +++ /dev/null @@ -1,32 +0,0 @@ -"quicksort"(lo, hi, a): int -> int -> int -> void -{ - var i, j, pivot, temp; - - if (! (lo < hi)) return; - i = lo; - j = hi; - pivot = int32[a + hi * 4]; - {{ loop { - if (! (i < j)) exit; - {{ loop { - if (i >= hi) exit; - if (int32[a + i * 4] > pivot) exit; - i = i + 1; - } }} - {{ loop { - if (j <= lo) exit; - if (int32[a + j * 4] < pivot) exit; - j = j - 1; - } }} - if (i < j) { - temp = int32[a + i * 4]; - int32[a + i * 4] = int32[a + j * 4]; - int32[a + j * 4] = temp; - } - } }} - temp = int32[a + i * 4]; - int32[a + i * 4] = int32[a + hi * 4]; - int32[a + hi * 4] = temp; - "quicksort"(lo, i - 1, a) : int -> int -> int -> void; - "quicksort"(i + 1, hi, a) : int -> int -> int -> void; -} |