blob: b82911e32a881216d75d3c3481cbec31eede28aa [file] [log] [blame]
struct QuicksortObject {
numbers : array<i32, 10u>,
}
struct buf0 {
resolution : vec2<f32>,
}
var<private> obj : QuicksortObject;
var<private> x_GLF_color : vec4<f32>;
@group(0) @binding(0) var<uniform> x_30 : buf0;
fn swap_i1_i1_(i : ptr<function, i32>, j : ptr<function, i32>) {
var temp : i32;
let x_92 : i32 = *(i);
let x_94 : i32 = obj.numbers[x_92];
temp = x_94;
let x_95 : i32 = *(i);
let x_96 : i32 = *(j);
let x_98 : i32 = obj.numbers[x_96];
obj.numbers[x_95] = x_98;
let x_100 : i32 = *(j);
let x_101 : i32 = temp;
obj.numbers[x_100] = x_101;
return;
}
fn performPartition_i1_i1_(l : ptr<function, i32>, h : ptr<function, i32>) -> i32 {
var pivot : i32;
var i_1 : i32;
var j_1 : i32;
var param : i32;
var param_1 : i32;
var param_2 : i32;
var param_3 : i32;
let x_104 : i32 = *(h);
let x_106 : i32 = obj.numbers[x_104];
pivot = x_106;
let x_107 : i32 = *(l);
i_1 = (x_107 - 1);
let x_109 : i32 = *(l);
j_1 = x_109;
loop {
let x_114 : i32 = j_1;
let x_115 : i32 = *(h);
if ((x_114 <= (x_115 - 1))) {
} else {
break;
}
let x_119 : i32 = j_1;
let x_121 : i32 = obj.numbers[x_119];
let x_122 : i32 = pivot;
if ((x_121 <= x_122)) {
let x_126 : i32 = i_1;
i_1 = (x_126 + 1);
let x_128 : i32 = i_1;
param = x_128;
let x_129 : i32 = j_1;
param_1 = x_129;
swap_i1_i1_(&(param), &(param_1));
}
continuing {
let x_131 : i32 = j_1;
j_1 = (x_131 + 1);
}
}
let x_133 : i32 = i_1;
param_2 = (x_133 + 1);
let x_135 : i32 = *(h);
param_3 = x_135;
swap_i1_i1_(&(param_2), &(param_3));
let x_137 : i32 = i_1;
return (x_137 + 1);
}
fn quicksort_() {
var l_1 : i32;
var h_1 : i32;
var top : i32;
var stack : array<i32, 10u>;
var p : i32;
var param_4 : i32;
var param_5 : i32;
l_1 = 0;
h_1 = 9;
top = -1;
let x_140 : i32 = top;
let x_141 : i32 = (x_140 + 1);
top = x_141;
let x_142 : i32 = l_1;
stack[x_141] = x_142;
let x_144 : i32 = top;
let x_145 : i32 = (x_144 + 1);
top = x_145;
let x_146 : i32 = h_1;
stack[x_145] = x_146;
loop {
let x_152 : i32 = top;
if ((x_152 >= 0)) {
} else {
break;
}
let x_155 : i32 = top;
top = (x_155 - 1);
let x_158 : i32 = stack[x_155];
h_1 = x_158;
let x_159 : i32 = top;
top = (x_159 - 1);
let x_162 : i32 = stack[x_159];
l_1 = x_162;
let x_163 : i32 = l_1;
param_4 = x_163;
let x_164 : i32 = h_1;
param_5 = x_164;
let x_165 : i32 = performPartition_i1_i1_(&(param_4), &(param_5));
p = x_165;
let x_166 : i32 = p;
let x_168 : i32 = l_1;
if (((x_166 - 1) > x_168)) {
let x_172 : i32 = top;
let x_173 : i32 = (x_172 + 1);
top = x_173;
let x_174 : i32 = l_1;
stack[x_173] = x_174;
let x_176 : i32 = top;
let x_177 : i32 = (x_176 + 1);
top = x_177;
let x_178 : i32 = p;
stack[x_177] = (x_178 - 1);
}
let x_181 : i32 = p;
let x_183 : i32 = h_1;
if (((x_181 + 1) < x_183)) {
let x_187 : i32 = top;
let x_188 : i32 = (x_187 + 1);
top = x_188;
let x_189 : i32 = p;
stack[x_188] = (x_189 + 1);
let x_192 : i32 = top;
let x_193 : i32 = (x_192 + 1);
top = x_193;
let x_194 : i32 = h_1;
stack[x_193] = x_194;
}
}
return;
}
fn main_1() {
var i_2 : i32;
i_2 = 0;
loop {
let x_64 : i32 = i_2;
if ((x_64 < 10)) {
} else {
break;
}
let x_67 : i32 = i_2;
let x_68 : i32 = i_2;
obj.numbers[x_67] = (10 - x_68);
let x_71 : i32 = i_2;
let x_72 : i32 = i_2;
let x_74 : i32 = obj.numbers[x_72];
let x_75 : i32 = i_2;
let x_77 : i32 = obj.numbers[x_75];
obj.numbers[x_71] = (x_74 * x_77);
continuing {
let x_80 : i32 = i_2;
i_2 = (x_80 + 1);
}
}
quicksort_();
let x_84 : i32 = obj.numbers[0];
let x_86 : i32 = obj.numbers[4];
if ((x_84 < x_86)) {
x_GLF_color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
} else {
x_GLF_color = vec4<f32>(0.0, 1.0, 0.0, 1.0);
}
return;
}
struct main_out {
@location(0)
x_GLF_color_1 : vec4<f32>,
}
@stage(fragment)
fn main() -> main_out {
main_1();
return main_out(x_GLF_color);
}