tuple_write.adl
1 2 program test.alpha { 3 transition baz(foo: u8, bar: u8) -> u8 { 4 let a: (u8, u8) = (foo, bar); 5 a.0 = a.0 + a.1; 6 a.1 = 2u8; 7 return a.0 + a.1; 8 } 9 10 transition baz2(x: field, y: field) -> (field, field) { 11 let tupl: (field, field, u8) = (x, y, 1u8); 12 13 tupl.0 = x + tupl.0; 14 tupl.1 = x + tupl.1; 15 16 let tupl2: (field, field) = (tupl.1, tupl.0); 17 18 return tupl2; 19 } 20 21 transition baz3(x: field, y: field, z: bool) -> (field, field) { 22 let tupl: (field, field) = (x, y); 23 if z { 24 tupl.0 = tupl.0 + x; 25 } else { 26 tupl.1 = tupl.1 + y; 27 } 28 29 return tupl; 30 } 31 32 transition baz4(x: field, y: field, z: bool) -> (field, field) { 33 let tupl1: (field, field) = (x, y); 34 let tupl2: (field, field) = (y, x); 35 let result: (field, field) = z ? tupl1 : tupl2; 36 return result; 37 } 38 }