We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 882f8c7 commit fde3c23Copy full SHA for fde3c23
1 file changed
src/memory/nebula.rs
@@ -281,12 +281,14 @@ impl<F: ArkPrimeField> MemBuilder<F> {
281
}
282
283
// don't record this operation
284
- pub fn nondet_read(&self, addr: usize, tag: usize) -> Vec<F> {
+ pub fn cond_nondet_read(&self, cond: bool, addr: usize, tag: usize) -> Vec<F> {
285
let ty = self.mem_spaces.get(&tag).unwrap();
286
assert!(!ty.is_stack());
287
let sr = ty.tag();
288
289
- let read_elem = if self.mem.contains_key(&(addr, sr)) {
+ let read_elem = if !cond {
290
+ MemElem::padding(addr, ty.elem_len())
291
+ } else if self.mem.contains_key(&(addr, sr)) {
292
let re = self.mem.get(&(addr, sr)).unwrap().clone();
293
assert_eq!(re.addr, F::from(addr as u64));
294
re
0 commit comments