Some more saner variable names
This commit is contained in:
parent
af43d14243
commit
e556888ce5
2 changed files with 70 additions and 54 deletions
|
|
@ -68,13 +68,13 @@ where
|
|||
struct Patience<'old, 'new, 'd, Old: ?Sized, New: ?Sized, D> {
|
||||
d: &'d mut D,
|
||||
old: &'old Old,
|
||||
old_current: usize,
|
||||
old_end: usize,
|
||||
old_indexes: &'old [Indexable<'old, Old>],
|
||||
new: &'new New,
|
||||
current_old: usize,
|
||||
end_old: usize,
|
||||
current_new: usize,
|
||||
end_new: usize,
|
||||
indexes_old: &'old [Indexable<'old, Old>],
|
||||
indexes_new: &'new [Indexable<'new, New>],
|
||||
new_current: usize,
|
||||
new_end: usize,
|
||||
new_indexes: &'new [Indexable<'new, New>],
|
||||
}
|
||||
|
||||
impl<'old, 'new, 'd, Old, New, D> DiffHook for Patience<'old, 'new, 'd, Old, New, D>
|
||||
|
|
@ -87,29 +87,29 @@ where
|
|||
type Error = D::Error;
|
||||
fn equal(&mut self, old: usize, new: usize, len: usize) -> Result<(), D::Error> {
|
||||
for (old, new) in (old..old + len).zip(new..new + len) {
|
||||
let a0 = self.current_old;
|
||||
let b0 = self.current_new;
|
||||
while self.current_old < self.indexes_old[old].index
|
||||
&& self.current_new < self.indexes_new[new].index
|
||||
&& self.new[self.current_new] == self.old[self.current_old]
|
||||
let a0 = self.old_current;
|
||||
let b0 = self.new_current;
|
||||
while self.old_current < self.old_indexes[old].index
|
||||
&& self.new_current < self.new_indexes[new].index
|
||||
&& self.new[self.new_current] == self.old[self.old_current]
|
||||
{
|
||||
self.current_old += 1;
|
||||
self.current_new += 1;
|
||||
self.old_current += 1;
|
||||
self.new_current += 1;
|
||||
}
|
||||
if self.current_old > a0 {
|
||||
self.d.equal(a0, b0, self.current_old - a0)?
|
||||
if self.old_current > a0 {
|
||||
self.d.equal(a0, b0, self.old_current - a0)?
|
||||
}
|
||||
myers::diff_offsets(
|
||||
self.d,
|
||||
self.old,
|
||||
self.current_old,
|
||||
self.indexes_old[old].index,
|
||||
self.old_current,
|
||||
self.old_indexes[old].index,
|
||||
self.new,
|
||||
self.current_new,
|
||||
self.indexes_new[new].index,
|
||||
self.new_current,
|
||||
self.new_indexes[new].index,
|
||||
)?;
|
||||
self.current_old = self.indexes_old[old].index;
|
||||
self.current_new = self.indexes_new[new].index;
|
||||
self.old_current = self.old_indexes[old].index;
|
||||
self.new_current = self.new_indexes[new].index;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
|
@ -118,9 +118,9 @@ where
|
|||
myers::diff(
|
||||
self.d,
|
||||
self.old,
|
||||
self.current_old..self.end_old,
|
||||
self.old_current..self.old_end,
|
||||
self.new,
|
||||
self.current_new..self.end_new,
|
||||
self.new_current..self.new_end,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -142,26 +142,26 @@ where
|
|||
New::Output: PartialEq<Old::Output> + Hash + Eq,
|
||||
D: DiffHook,
|
||||
{
|
||||
let indexes_old = unique(old, old_range.start, old_range.end);
|
||||
let indexes_new = unique(new, old_range.start, old_range.end);
|
||||
let old_indexes = unique(old, old_range.start, old_range.end);
|
||||
let new_indexes = unique(new, old_range.start, old_range.end);
|
||||
|
||||
let mut d = Replace::new(Patience {
|
||||
d,
|
||||
old,
|
||||
old_current: old_range.start,
|
||||
old_end: old_range.end,
|
||||
old_indexes: &old_indexes,
|
||||
new,
|
||||
current_old: old_range.start,
|
||||
end_old: old_range.end,
|
||||
current_new: new_range.start,
|
||||
end_new: new_range.end,
|
||||
indexes_old: &indexes_old,
|
||||
indexes_new: &indexes_new,
|
||||
new_current: new_range.start,
|
||||
new_end: new_range.end,
|
||||
new_indexes: &new_indexes,
|
||||
});
|
||||
myers::diff(
|
||||
&mut d,
|
||||
&indexes_old,
|
||||
0..indexes_old.len(),
|
||||
&indexes_new,
|
||||
0..indexes_new.len(),
|
||||
&old_indexes,
|
||||
0..old_indexes.len(),
|
||||
&new_indexes,
|
||||
0..new_indexes.len(),
|
||||
)?;
|
||||
Ok(())
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue