port stepToNextEdge

This commit is contained in:
Henry Schimke
2023-03-31 20:08:57 -05:00
parent 097bfd1ead
commit c103609550

View File

@@ -45,22 +45,26 @@ impl FastEdgeToEdgeCounter {
} }
} }
pub fn stepToNextEdge(&self, _range: i32) -> i32 { pub fn stepToNextEdge(&self, range: u32) -> u32 {
todo!() let maxSteps = std::cmp::min(self.stepsToBorder, range);
// int maxSteps = std::min(stepsToBorder, range); let steps = 0;
// int steps = 0; loop {
// do { steps += 1;
// if (++steps > maxSteps) { if (steps > maxSteps) {
// if (maxSteps == stepsToBorder) if (maxSteps == self.stepsToBorder) {
// break; break;
// else } else {
// return 0; return 0;
// } }
// } while (p[steps * stride] == p[0]); }
if !(self.arr.get((steps * self.stride) as usize) == self.arr.get(0)) {
// p += steps * stride; break;
// stepsToBorder -= steps; }
} // while (p[steps * stride] == p[0]);
// return steps;
self.p += steps * self.stride;
self.stepsToBorder -= steps;
return steps;
} }
} }