Skip to content

Commit b45b2c1

Browse files
committed
use window function
1 parent 66bd8dd commit b45b2c1

1 file changed

Lines changed: 1 addition & 8 deletions

File tree

src/isa/exec.rs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -669,14 +669,7 @@ impl InstructionSet for BytesOp {
669669
let (s1, s2) = regs.get_both_s(*reg1, *reg2)?;
670670
let r1 = s1.as_ref();
671671
let r2 = s2.as_ref();
672-
let r1_len = r1.len();
673-
let r2_len = r2.len();
674-
let mut count = 0usize;
675-
for i in 0..(r1_len + 1).saturating_sub(r2_len) {
676-
if &r1[i..(i + r2_len)] == r2 {
677-
count += 1;
678-
}
679-
}
672+
let count = r1.windows(r2.len()).filter(|r1| *r1 == r2).count();
680673
assert!(count <= u16::MAX as usize);
681674
regs.set(RegA::A16, Reg32::Reg0, count as u16);
682675
Some(())

0 commit comments

Comments
 (0)