chore: set to zero in spend loop
This commit is contained in:
parent
93f7849fc0
commit
e8aa013aa4
|
@ -407,6 +407,7 @@ impl Program<NamedDeBruijn> {
|
||||||
let mut machine = Machine::new(Costs::default(), ExBudget::default(), 200);
|
let mut machine = Machine::new(Costs::default(), ExBudget::default(), 200);
|
||||||
|
|
||||||
let (term, _, _) = machine.run(&self.term)?;
|
let (term, _, _) = machine.run(&self.term)?;
|
||||||
|
|
||||||
Ok(term)
|
Ok(term)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ pub struct Machine {
|
||||||
frames: Vec<Context>,
|
frames: Vec<Context>,
|
||||||
slippage: u32,
|
slippage: u32,
|
||||||
env: Vec<Value>,
|
env: Vec<Value>,
|
||||||
unbudgeted_steps: Vec<u32>,
|
unbudgeted_steps: [u32; 8],
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Machine {
|
impl Machine {
|
||||||
|
@ -24,7 +24,7 @@ impl Machine {
|
||||||
slippage,
|
slippage,
|
||||||
frames: vec![Context::NoFrame],
|
frames: vec![Context::NoFrame],
|
||||||
env: vec![],
|
env: vec![],
|
||||||
unbudgeted_steps: vec![0; 8],
|
unbudgeted_steps: [0; 8],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,7 +91,7 @@ impl Machine {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn return_compute(&mut self, value: Value) -> Result<Term<NamedDeBruijn>, Error> {
|
fn return_compute(&mut self, value: Value) -> Result<Term<NamedDeBruijn>, Error> {
|
||||||
// TODO: avoid unwrap and possible just return an err when None
|
// TODO: avoid unwrap if possible and just return an err when None
|
||||||
// but honestly it should never be empty anyways because Machine
|
// but honestly it should never be empty anyways because Machine
|
||||||
// is initialized with `Context::NoFrame`.
|
// is initialized with `Context::NoFrame`.
|
||||||
let frame = self.frames.last().cloned().unwrap();
|
let frame = self.frames.last().cloned().unwrap();
|
||||||
|
@ -237,9 +237,9 @@ impl Machine {
|
||||||
unspent_step_budget.occurences(self.unbudgeted_steps[i] as i32);
|
unspent_step_budget.occurences(self.unbudgeted_steps[i] as i32);
|
||||||
|
|
||||||
self.spend_budget(unspent_step_budget)?;
|
self.spend_budget(unspent_step_budget)?;
|
||||||
}
|
|
||||||
|
|
||||||
self.unbudgeted_steps = vec![0; 8];
|
self.unbudgeted_steps[i] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue