mirror of
https://github.com/cberner/raptorq.git
synced 2024-06-27 09:19:02 +00:00
Merge .map().filter() into .filter_map()
This commit is contained in:
parent
a1d5894e25
commit
5e506b5b78
@ -756,26 +756,23 @@ impl<T: BinaryMatrix> IntermediateSymbolDecoder<T> {
|
||||
let mut row_ops: Vec<RowOp> = row_ops
|
||||
.iter()
|
||||
.rev()
|
||||
.map(|x| match x {
|
||||
.filter_map(|x| match x {
|
||||
RowOp::AddAssign { src, dest } => {
|
||||
assert!(mapping[*src] < self.i);
|
||||
RowOp::AddAssign {
|
||||
src: mapping[*src],
|
||||
dest: mapping[*dest],
|
||||
if mapping[*src] < self.i && mapping[*dest] < self.i {
|
||||
Some(RowOp::AddAssign {
|
||||
src: mapping[*src],
|
||||
dest: mapping[*dest],
|
||||
})
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
RowOp::Swap { row1, row2 } => {
|
||||
mapping.swap(*row1, *row2);
|
||||
RowOp::Swap {
|
||||
row1: *row1,
|
||||
row2: *row2,
|
||||
}
|
||||
None
|
||||
}
|
||||
})
|
||||
.filter(|x| match x {
|
||||
RowOp::AddAssign { src, dest } => *src < self.i && *dest < self.i,
|
||||
RowOp::Swap { .. } => false,
|
||||
})
|
||||
.collect();
|
||||
row_ops.reverse();
|
||||
return Some(row_ops);
|
||||
|
Loading…
Reference in New Issue
Block a user