/ tests / expectations / execution / serialize_deserialize_roundtrip.out
serialize_deserialize_roundtrip.out
  1  program test.alpha;
  2  
  3  mapping results:
  4      key as u8.public;
  5      value as boolean.public;
  6  
  7  function test_u8_rt:
  8      input r0 as u8.private;
  9      serialize.bits r0 (u8) into r1 ([boolean; 34u32]);
 10      deserialize.bits r1 ([boolean; 34u32]) into r2 (u8);
 11      is.eq r0 r2 into r3;
 12      serialize.bits.raw r0 (u8) into r4 ([boolean; 8u32]);
 13      deserialize.bits.raw r4 ([boolean; 8u32]) into r5 (u8);
 14      is.eq r0 r5 into r6;
 15      and r3 r6 into r7;
 16      output r7 as boolean.public;
 17  
 18  function test_u16_rt:
 19      input r0 as u16.private;
 20      serialize.bits r0 (u16) into r1 ([boolean; 42u32]);
 21      deserialize.bits r1 ([boolean; 42u32]) into r2 (u16);
 22      is.eq r0 r2 into r3;
 23      serialize.bits.raw r0 (u16) into r4 ([boolean; 16u32]);
 24      deserialize.bits.raw r4 ([boolean; 16u32]) into r5 (u16);
 25      is.eq r0 r5 into r6;
 26      and r3 r6 into r7;
 27      output r7 as boolean.public;
 28  
 29  function test_u32_rt:
 30      input r0 as u32.private;
 31      serialize.bits r0 (u32) into r1 ([boolean; 58u32]);
 32      deserialize.bits r1 ([boolean; 58u32]) into r2 (u32);
 33      is.eq r0 r2 into r3;
 34      serialize.bits.raw r0 (u32) into r4 ([boolean; 32u32]);
 35      deserialize.bits.raw r4 ([boolean; 32u32]) into r5 (u32);
 36      is.eq r0 r5 into r6;
 37      and r3 r6 into r7;
 38      output r7 as boolean.public;
 39  
 40  function test_u64_rt:
 41      input r0 as u64.private;
 42      serialize.bits r0 (u64) into r1 ([boolean; 90u32]);
 43      deserialize.bits r1 ([boolean; 90u32]) into r2 (u64);
 44      is.eq r0 r2 into r3;
 45      serialize.bits.raw r0 (u64) into r4 ([boolean; 64u32]);
 46      deserialize.bits.raw r4 ([boolean; 64u32]) into r5 (u64);
 47      is.eq r0 r5 into r6;
 48      and r3 r6 into r7;
 49      output r7 as boolean.public;
 50  
 51  function test_u128_rt:
 52      input r0 as u128.private;
 53      serialize.bits r0 (u128) into r1 ([boolean; 154u32]);
 54      deserialize.bits r1 ([boolean; 154u32]) into r2 (u128);
 55      is.eq r0 r2 into r3;
 56      serialize.bits.raw r0 (u128) into r4 ([boolean; 128u32]);
 57      deserialize.bits.raw r4 ([boolean; 128u32]) into r5 (u128);
 58      is.eq r0 r5 into r6;
 59      and r3 r6 into r7;
 60      output r7 as boolean.public;
 61  
 62  function test_i8_rt:
 63      input r0 as i8.private;
 64      serialize.bits r0 (i8) into r1 ([boolean; 34u32]);
 65      deserialize.bits r1 ([boolean; 34u32]) into r2 (i8);
 66      is.eq r0 r2 into r3;
 67      serialize.bits.raw r0 (i8) into r4 ([boolean; 8u32]);
 68      deserialize.bits.raw r4 ([boolean; 8u32]) into r5 (i8);
 69      is.eq r0 r5 into r6;
 70      and r3 r6 into r7;
 71      output r7 as boolean.public;
 72  
 73  function test_i16_rt:
 74      input r0 as i16.private;
 75      serialize.bits r0 (i16) into r1 ([boolean; 42u32]);
 76      deserialize.bits r1 ([boolean; 42u32]) into r2 (i16);
 77      is.eq r0 r2 into r3;
 78      serialize.bits.raw r0 (i16) into r4 ([boolean; 16u32]);
 79      deserialize.bits.raw r4 ([boolean; 16u32]) into r5 (i16);
 80      is.eq r0 r5 into r6;
 81      and r3 r6 into r7;
 82      output r7 as boolean.public;
 83  
 84  function test_i32_rt:
 85      input r0 as i32.private;
 86      serialize.bits r0 (i32) into r1 ([boolean; 58u32]);
 87      deserialize.bits r1 ([boolean; 58u32]) into r2 (i32);
 88      is.eq r0 r2 into r3;
 89      serialize.bits.raw r0 (i32) into r4 ([boolean; 32u32]);
 90      deserialize.bits.raw r4 ([boolean; 32u32]) into r5 (i32);
 91      is.eq r0 r5 into r6;
 92      and r3 r6 into r7;
 93      output r7 as boolean.public;
 94  
 95  function test_i64_rt:
 96      input r0 as i64.private;
 97      serialize.bits r0 (i64) into r1 ([boolean; 90u32]);
 98      deserialize.bits r1 ([boolean; 90u32]) into r2 (i64);
 99      is.eq r0 r2 into r3;
100      serialize.bits.raw r0 (i64) into r4 ([boolean; 64u32]);
101      deserialize.bits.raw r4 ([boolean; 64u32]) into r5 (i64);
102      is.eq r0 r5 into r6;
103      and r3 r6 into r7;
104      output r7 as boolean.public;
105  
106  function test_i128_rt:
107      input r0 as i128.private;
108      serialize.bits r0 (i128) into r1 ([boolean; 154u32]);
109      deserialize.bits r1 ([boolean; 154u32]) into r2 (i128);
110      is.eq r0 r2 into r3;
111      serialize.bits.raw r0 (i128) into r4 ([boolean; 128u32]);
112      deserialize.bits.raw r4 ([boolean; 128u32]) into r5 (i128);
113      is.eq r0 r5 into r6;
114      and r3 r6 into r7;
115      output r7 as boolean.public;
116  
117  function test_field_rt:
118      input r0 as field.private;
119      serialize.bits r0 (field) into r1 ([boolean; 279u32]);
120      deserialize.bits r1 ([boolean; 279u32]) into r2 (field);
121      is.eq r0 r2 into r3;
122      serialize.bits.raw r0 (field) into r4 ([boolean; 253u32]);
123      deserialize.bits.raw r4 ([boolean; 253u32]) into r5 (field);
124      is.eq r0 r5 into r6;
125      and r3 r6 into r7;
126      output r7 as boolean.public;
127  
128  function test_group_rt:
129      input r0 as group.private;
130      serialize.bits r0 (group) into r1 ([boolean; 279u32]);
131      deserialize.bits r1 ([boolean; 279u32]) into r2 (group);
132      is.eq r0 r2 into r3;
133      serialize.bits.raw r0 (group) into r4 ([boolean; 253u32]);
134      deserialize.bits.raw r4 ([boolean; 253u32]) into r5 (group);
135      is.eq r0 r5 into r6;
136      and r3 r6 into r7;
137      output r7 as boolean.public;
138  
139  function test_scalar_rt:
140      input r0 as scalar.private;
141      serialize.bits r0 (scalar) into r1 ([boolean; 277u32]);
142      deserialize.bits r1 ([boolean; 277u32]) into r2 (scalar);
143      is.eq r0 r2 into r3;
144      serialize.bits.raw r0 (scalar) into r4 ([boolean; 251u32]);
145      deserialize.bits.raw r4 ([boolean; 251u32]) into r5 (scalar);
146      is.eq r0 r5 into r6;
147      and r3 r6 into r7;
148      output r7 as boolean.public;
149  
150  function test_address_rt:
151      input r0 as address.private;
152      serialize.bits r0 (address) into r1 ([boolean; 279u32]);
153      deserialize.bits r1 ([boolean; 279u32]) into r2 (address);
154      is.eq r0 r2 into r3;
155      serialize.bits.raw r0 (address) into r4 ([boolean; 253u32]);
156      deserialize.bits.raw r4 ([boolean; 253u32]) into r5 (address);
157      is.eq r0 r5 into r6;
158      and r3 r6 into r7;
159      output r7 as boolean.public;
160  
161  function test_bool_rt:
162      input r0 as boolean.private;
163      serialize.bits r0 (boolean) into r1 ([boolean; 27u32]);
164      deserialize.bits r1 ([boolean; 27u32]) into r2 (boolean);
165      is.eq r0 r2 into r3;
166      serialize.bits.raw r0 (boolean) into r4 ([boolean; 1u32]);
167      deserialize.bits.raw r4 ([boolean; 1u32]) into r5 (boolean);
168      is.eq r0 r5 into r6;
169      and r3 r6 into r7;
170      output r7 as boolean.public;
171  
172  function test_array_rt:
173      input r0 as [u32; 4u32].private;
174      serialize.bits r0 ([u32; 4u32]) into r1 ([boolean; 330u32]);
175      deserialize.bits r1 ([boolean; 330u32]) into r2 ([u32; 4u32]);
176      is.eq r0[0u32] r2[0u32] into r3;
177      is.eq r0[1u32] r2[1u32] into r4;
178      and r3 r4 into r5;
179      is.eq r0[2u32] r2[2u32] into r6;
180      and r5 r6 into r7;
181      is.eq r0[3u32] r2[3u32] into r8;
182      and r7 r8 into r9;
183      serialize.bits.raw r0 ([u32; 4u32]) into r10 ([boolean; 128u32]);
184      deserialize.bits.raw r10 ([boolean; 128u32]) into r11 ([u32; 4u32]);
185      is.eq r0[0u32] r11[0u32] into r12;
186      is.eq r0[1u32] r11[1u32] into r13;
187      and r12 r13 into r14;
188      is.eq r0[2u32] r11[2u32] into r15;
189      and r14 r15 into r16;
190      is.eq r0[3u32] r11[3u32] into r17;
191      and r16 r17 into r18;
192      and r9 r18 into r19;
193      output r19 as boolean.public;
194  
195  constructor:
196      assert.eq edition 0u16;
197  status: success
198  output: true
199  status: success
200  output: true
201  status: success
202  output: true
203  status: success
204  output: true
205  status: success
206  output: true
207  status: success
208  output: true
209  status: success
210  output: true
211  status: success
212  output: true
213  status: success
214  output: true
215  status: success
216  output: true
217  status: success
218  output: true
219  status: success
220  output: true
221  status: success
222  output: true
223  status: success
224  output: true
225  status: success
226  output: true
227  status: success
228  output: true
229  status: success
230  output: true