/ tests / tests / compiler / core / algorithms / poseidon8_hash_to_scalar.adl
poseidon8_hash_to_scalar.adl
 1  
 2  program test.alpha {
 3      struct Foo {
 4          a: u128,
 5          b: u128,
 6      }
 7  
 8      transition main(
 9          i8_value: i8,
10          i16_value: i16,
11          i32_value: i32,
12          i64_value: i64,
13          u8_value: u8,
14          u16_value: u16,
15          u32_value: u32,
16          u64_value: u64,
17      ) -> (scalar, scalar, scalar, scalar, scalar, scalar, scalar, scalar, scalar, scalar, scalar, scalar, scalar, scalar, scalar, scalar, ) {
18          let addr_value: address = ax10qerras5799u6k7rjtc9y3hcwxuykr45qra7x7dp6jgnc0923czqm0lgta;
19          let bool_value: bool = true;
20          let field_value: field = 1field;
21          let group_value: group = group::GEN;
22          let i128_value: i128 = 1i128;
23          let u128_value: u128 = 1u128;
24          let scalar_value: scalar = 1scalar;
25          // let string_value: string = "helloworld";
26  
27          // Poseidon8 hash_to_scalar tests
28          let a: scalar = Poseidon8::hash_to_scalar(addr_value);
29          let b: scalar = Poseidon8::hash_to_scalar(bool_value);
30          let c: scalar = Poseidon8::hash_to_scalar(field_value);
31          let d: scalar = Poseidon8::hash_to_scalar(group_value);
32          let e: scalar = Poseidon8::hash_to_scalar(i8_value);
33          let f: scalar = Poseidon8::hash_to_scalar(i16_value);
34          let g: scalar = Poseidon8::hash_to_scalar(i32_value);
35          let h: scalar = Poseidon8::hash_to_scalar(i64_value);
36          let i: scalar = Poseidon8::hash_to_scalar(i128_value);
37          let j: scalar = Poseidon8::hash_to_scalar(u8_value);
38          let k: scalar = Poseidon8::hash_to_scalar(u16_value);
39          let l: scalar = Poseidon8::hash_to_scalar(u32_value);
40          let m: scalar = Poseidon8::hash_to_scalar(u64_value);
41          let n: scalar = Poseidon8::hash_to_scalar(u128_value);
42          let o: scalar = Poseidon8::hash_to_scalar(scalar_value);
43          // let p: scalar = Poseidon8::hash_to_scalar(string_value);
44          let q: scalar = Poseidon8::hash_to_scalar(Foo { a: 1u128, b: 1u128 });
45  
46          return (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, q);
47      }}