mirror of
https://github.com/starovoid/rxing.git
synced 2026-07-26 04:12:34 +00:00
port stepToNextEdge
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user