From: Mark Thom Date: Wed, 10 Apr 2024 21:46:11 +0000 (-0600) Subject: fix char_offset values in add_pstr_offset_chars (#2381) X-Git-Tag: v0.10.0~140 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=7d6109feca7c9c9f0b91e260b7d3cc2abb561c14;p=scryer-prolog.git fix char_offset values in add_pstr_offset_chars (#2381) --- diff --git a/src/machine/system_calls.rs b/src/machine/system_calls.rs index 1b7a509e..8dafa43e 100644 --- a/src/machine/system_calls.rs +++ b/src/machine/system_calls.rs @@ -247,7 +247,7 @@ impl BrentAlgState { self.pstr_chars += num_chars; Some(CycleSearchResult::ProperList(self.num_steps())) } else { - let char_offset = self.num_steps() + num_chars - self.max_steps as usize; + let char_offset = self.max_steps as usize - self.num_steps(); self.pstr_chars += char_offset; Some(CycleSearchResult::PStrLocation(self.max_steps as usize, h, char_offset + offset)) } @@ -260,7 +260,7 @@ impl BrentAlgState { self.pstr_chars += num_chars - 1; self.step(h+1) } else { - let char_offset = self.num_steps() + num_chars - self.max_steps as usize; + let char_offset = self.max_steps as usize - self.num_steps(); self.pstr_chars += char_offset; Some(CycleSearchResult::PStrLocation(self.max_steps as usize, h, char_offset + offset)) }