type Arr = array; struct Buf { count : u32; data : Arr; }; [[group(0), binding(0)]] var b : Buf; [[stage(compute), workgroup_size(1)]] fn main() { var i : u32 = 0u; loop { if ((i >= b.count)) { break; } let p : ptr = &(b.data[i]); if (((i % 2u) == 0u)) { continue; } *(p) = 0u; continuing { *(p) = (*(p) * 2u); i = (i + 1u); } } return; }