diff options
Diffstat (limited to 'testasmcomp/quicksort2.cmm')
| -rw-r--r-- | testasmcomp/quicksort2.cmm | 49 |
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)) |
