type Arr = array<u32, 50>;

[[block]]
struct Buf{
  count : u32;
  data : Arr;
};

[[group(0), binding (0)]] var<storage, read_write> b : Buf;

[[stage(compute)]]
fn main() {
  var i : u32 = 0u;
  loop {
    if (i >= b.count) { break; }
    let p : ptr<storage, u32, read_write> = &b.data[i];
    if ((i % 2u) == 0u) { continue; }
    *p = 0u;              // Set odd elements of the array to 0
    continuing {
      *p = *p * 2u;        // Double the value in the array entry
      i = i + 1u;
    }
  }
  return;
}
