1 #include <Quicksort1.d>
2 #include <__oo2c.h>
3 #include <setjmp.h>
4 
Quicksort1__Sort(OOC_INT32 a[],OOC_LEN a_0d,OOC_INT32 m,OOC_INT32 n)5 void Quicksort1__Sort(OOC_INT32 a[], OOC_LEN a_0d, OOC_INT32 m, OOC_INT32 n) {
6   register OOC_INT32 i0,i1,i2,i3,i4,i5,i6,i7,i8;
7 
8   i0 = n;
9   i1 = m;
10   i2 = i0>i1;
11   if (!i2) goto l18;
12   i2 = (OOC_INT32)a+i0*4;
13   i3 = *(OOC_INT32*)i2;
14   i4 = (OOC_INT32)a+(i1-1)*4;
15   i5=i4;i4=i2;
16 l3_loop:
17 
18 l4_loop:
19   i5 = i5+4;
20   i6 = *(OOC_INT32*)i5;
21   i7 = i6>=i3;
22   if (!i7) goto l4_loop;
23 l9_loop:
24   i4 = i4-4;
25   i7 = *(OOC_INT32*)i4;
26   i8 = i7<=i3;
27   if (!i8) goto l9_loop;
28 l13:
29   i8 = (OOC_UINT32)i5>=(OOC_UINT32)i4;
30   if (i8) goto l17;
31   *(OOC_INT32*)i5 = i7;
32   *(OOC_INT32*)i4 = i6;
33 
34   goto l3_loop;
35 l17:
36   i3 = *(OOC_INT32*)i2;
37   *(OOC_INT32*)i5 = i3;
38   *(OOC_INT32*)i2 = i6;
39   Quicksort1__Sort((void*)(OOC_INT32)a, a_0d, i1, ((i4-(OOC_INT32)a)>>2));
40   Quicksort1__Sort((void*)(OOC_INT32)a, a_0d, (((i5-(OOC_INT32)a)>>2)+1), i0);
41 l18:
42   return;
43   ;
44 }
45 
Quicksort1__Test(void)46 void Quicksort1__Test(void) {
47   register OOC_INT32 i0,i1,i2;
48   OOC_INT32 a[64];
49 
50   i0 = (OOC_INT32)a+252;
51   i1=(OOC_INT32)a;
52 l1_loop:
53   i2 = RandomNumbers__RND(64);
54   *(OOC_INT32*)i1 = i2;
55   i1 = i1+4;
56   i2 = (OOC_UINT32)i1<=(OOC_UINT32)i0;
57   if (i2) goto l1_loop;
58 l5:
59   Quicksort1__Sort((void*)(OOC_INT32)a, 64, 0, 63);
60   i1=(OOC_INT32)a;
61 l6_loop:
62   i2 = *(OOC_INT32*)i1;
63   Out0__Int(i2, 4);
64   i1 = i1+4;
65   i2 = (OOC_UINT32)i1<=(OOC_UINT32)i0;
66   if (i2) goto l6_loop;
67 l10:
68   Out0__Ln();
69   return;
70   ;
71 }
72 
OOC_Quicksort1_init(void)73 void OOC_Quicksort1_init(void) {
74 
75   return;
76   ;
77 }
78 
OOC_Quicksort1_destroy(void)79 void OOC_Quicksort1_destroy(void) {
80 }
81 
82 /* --- */
83