Mercurial > hg > CbC > CbC_gcc
comparison CbC-examples/quicksort/quicksort_cbc.cbc @ 40:3367c5a7ec79
modify quicksort for benchmark.
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 Jan 2010 16:51:28 +0900 |
parents | 9117c3b65bc3 |
children |
comparison
equal
deleted
inserted
replaced
39:9117c3b65bc3 | 40:3367c5a7ec79 |
---|---|
66 goto quicksort_divider_s(recvif, s, e, p, sp); | 66 goto quicksort_divider_s(recvif, s, e, p, sp); |
67 } | 67 } |
68 __code quicksort_divider_s(QS_IF *recvif, int s, int e, int p, stack sp) | 68 __code quicksort_divider_s(QS_IF *recvif, int s, int e, int p, stack sp) |
69 { | 69 { |
70 if (recvif->v[s]<p) { | 70 if (recvif->v[s]<p) { |
71 s++; | 71 goto quicksort_divider_s(recvif, s+1, e, p, sp); |
72 goto quicksort_divider_s(recvif, s, e, p, sp); | |
73 } else | 72 } else |
74 goto quicksort_divider_e(recvif, s, e, p, sp); | 73 goto quicksort_divider_e(recvif, s, e, p, sp); |
75 } | 74 } |
76 __code quicksort_divider_e(QS_IF *recvif, int s, int e, int p, stack sp) | 75 __code quicksort_divider_e(QS_IF *recvif, int s, int e, int p, stack sp) |
77 { | 76 { |
86 if (s<e) { | 85 if (s<e) { |
87 int tmp; | 86 int tmp; |
88 tmp = recvif->v[s]; | 87 tmp = recvif->v[s]; |
89 recvif->v[s] = recvif->v[e]; | 88 recvif->v[s] = recvif->v[e]; |
90 recvif->v[e] = tmp; | 89 recvif->v[e] = tmp; |
91 //s++; | |
92 //e--; | |
93 goto quicksort_divider(recvif, s+1, e-1, p, sp); | 90 goto quicksort_divider(recvif, s+1, e-1, p, sp); |
94 } else { | 91 } else { |
95 goto quicksort_treecall(recvif, s, e, sp); | 92 goto quicksort_treecall(recvif, s, e, sp); |
96 } | 93 } |
97 } | 94 } |