summaryrefslogtreecommitdiff
path: root/testasmcomp/quicksort2.cmm
diff options
context:
space:
mode:
Diffstat (limited to 'testasmcomp/quicksort2.cmm')
-rw-r--r--testasmcomp/quicksort2.cmm49
1 files changed, 0 insertions, 49 deletions
diff --git a/testasmcomp/quicksort2.cmm b/testasmcomp/quicksort2.cmm
deleted file mode 100644
index eae9809a79..0000000000
--- a/testasmcomp/quicksort2.cmm
+++ /dev/null
@@ -1,49 +0,0 @@
-(***********************************************************************)
-(* *)
-(* Objective Caml *)
-(* *)
-(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
-(* *)
-(* Copyright 1996 Institut National de Recherche en Informatique et *)
-(* en Automatique. All rights reserved. This file is distributed *)
-(* under the terms of the Q Public License version 1.0. *)
-(* *)
-(***********************************************************************)
-
-(* $Id$ *)
-
-(function "cmp" (i: int j: int)
- (- i j))
-
-(function "quick" (lo: int hi: int a: addr cmp: addr)
- (if (< lo hi)
- (let (i lo
- j hi
- pivot (intaref a hi))
- (while (< i j)
- (catch
- (while 1
- (if (>= i hi) exit [])
- (if (> (app cmp (intaref a i) pivot int) 0) exit [])
- (assign i (+ i 1)))
- with [])
- (catch
- (while 1
- (if (<= j lo) exit [])
- (if (< (app cmp (intaref a j) pivot int) 0) exit [])
- (assign j (- j 1)))
- with [])
- (if (< i j)
- (let temp (intaref a i)
- (intaset a i (intaref a j))
- (intaset a j temp))
- []))
- (let temp (intaref a i)
- (intaset a i (intaref a hi))
- (intaset a hi temp))
- (app "quick" lo (- i 1) a cmp unit)
- (app "quick" (+ i 1) hi a cmp unit))
- []))
-
-(function "quicksort" (lo: int hi: int a: addr)
- (app "quick" lo hi a "cmp" unit))