type Arr = array<u32, 50>;

struct Buf{
  count : u32,
  data : Arr,
};

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

@compute @workgroup_size(1)
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;
}
