/ tests / tests / compiler / const_generics / generic_array.adl
generic_array.adl
 1  program test.alpha {
 2      const Five: u32 = 5;
 3      transition main() -> u32 {
 4          let total = 0u32;
 5          total += sum_array::[1]([1]);
 6          total += sum_array::[2]([1, 2u32]);
 7          total += sum_array::[3u32]([1, 2, 3]);
 8          total += sum_array::[4]([1u32, 2u32, 3u32, 4u32]);
 9          let arr: [u32; Five] = [1, 2, 3, 4, 5];
10          total += sum_array::[Five](arr);
11  
12          return total;
13      }
14  
15      inline sum_array::[N: u32](arr: [u32; N]) -> u32 {
16          let sum = 0u32;
17          for i in 0u32..N {
18              sum += arr[i];
19          }
20          return sum;
21      }
22  }