#[ensures(effects!(old(trace), trace, effect!(WriteMem, addr, 4) if addr == start as usize))]
(&mut self, start: usize, v: u32)
| 335 | #[ensures(trace_safe(trace, self))] |
| 336 | // #[ensures(effects!(old(trace), trace, effect!(WriteMem, addr, 4) if addr == start as usize))] |
| 337 | pub fn write_u32(&mut self, start: usize, v: u32) { |
| 338 | let bytes: [u8; 4] = v.to_le_bytes(); |
| 339 | self.write_u8(start, bytes[0]); |
| 340 | self.write_u8(start + 1, bytes[1]); |
| 341 | self.write_u8(start + 2, bytes[2]); |
| 342 | self.write_u8(start + 3, bytes[3]); |
| 343 | } |
| 344 | |
| 345 | // TODO: replace with faster raw ptr memread/memwrite |
| 346 | #[with_ghost_var(trace: &mut Trace)] |
no test coverage detected