repeat_in_loop.adl
1 /* 2 seed = 123456789 3 min_height = 16 4 5 [case] 6 program = "test.alpha" 7 function = "main" 8 input = [] 9 */ 10 11 program test.alpha { 12 transition main() -> u32 { 13 return foo::[10](); 14 } 15 16 inline foo::[P: u32]() -> u32 { 17 let sum = 0u32; 18 for i: u32 in 1..P { 19 let arr = [i; i]; 20 21 for j: u32 in 0..i { 22 sum += arr[j]; 23 } 24 25 sum += bar::[i]([i; i]); 26 } 27 return sum; 28 } 29 30 inline bar::[K: u32](arr: [u32; K]) -> u32 { 31 let sum = 0u32; 32 for j: u32 in 0..K { 33 sum += arr[j]; 34 } 35 return sum; 36 } 37 38 @custom 39 async constructor() { 40 assert_eq(self.edition, 0u16); 41 } 42 }