1fn f1(a : array<f32, 4>) -> f32 { 2 return a[3]; 3} 4 5fn f2(a : array<array<f32, 4>, 3>) -> f32 { 6 return a[2][3]; 7} 8 9fn f3(a : array<array<array<f32, 4>, 3>, 2>) -> f32 { 10 return a[1][2][3]; 11} 12 13[[stage(compute), workgroup_size(1)]] 14fn main() { 15 let a1 : array<f32, 4> = array<f32, 4>(); 16 let a2 : array<array<f32, 4>, 3> = array<array<f32, 4>, 3>(); 17 let a3 : array<array<array<f32, 4>, 3>, 2> = array<array<array<f32, 4>, 3>, 2>(); 18 let v1 : f32 = f1(a1); 19 let v2 : f32 = f2(a2); 20 let v3 : f32 = f3(a3); 21} 22