pub fn accumulate(&mut self, transposition: &impl Transposition) {
        // We can't inline this if statement, because doing so would require us to clone the
        // Change or anger the borrow checker.
        if self.using_second_change {
            self.change_2
                .multiply_into(transposition, &mut self.change_1);
        } else {
            self.change_1
                .multiply_into(transposition, &mut self.change_2);
        }

        // Swap the buffers so that the result is in the 'front' buffer
        self.using_second_change = !self.using_second_change;
    }
/// Accumulate a [Transposition] into the accumulator.
///
/// # Example
/// ```
/// use bellmetal::{Change, ChangeAccumulator, Stage};
///
/// let mut accum = ChangeAccumulator::new(Stage::MAXIMUS);
///
/// // First let's accumulate a cyclic part head
/// accum.accumulate(&Change::from("567890ET1234"));
///
/// // And now let's accumulate a change that we might find in that part
/// accum.accumulate(&Change::from("5432167890ET"));
///
/// // And the total is a cyclically rotated version of the 5432167890ET:
/// assert_eq!(accum.total(), &Change::from("987650ET1234"));
/// ```
Accumulate a [Transposition] into the accumulator.
Accumulate a [ Transposition ] into the accumulator .
pub fn accumulate(&mut self, transposition: &impl Transposition) {
        // We can't inline this if statement, because doing so would require us to clone the
        // Change or anger the borrow checker.
        if self.using_second_change {
            self.change_2
                .multiply_into(transposition, &mut self.change_1);
        } else {
            self.change_1
                .multiply_into(transposition, &mut self.change_2);
        }
        // Swap the buffers so that the result is in the 'front' buffer
        self.using_second_change = !self.using_second_change;
    }
pub fn accumulate ( & mut self , transposition : & impl Transposition ) { // We can't inline this if statement, because doing so would require us to clone the // Change or anger the borrow checker. if self . using_second_change { self . change_2 . multiply_into ( transposition , & mut self . change_1 ) ; } else { self . change_1 . multiply_into ( transposition , & mut self . change_2 ) ; } // Swap the buffers so that the result is in the 'front' buffer self . using_second_change = ! self . using_second_change ; }
Accumulate a [Transposition] into the accumulator.
Accumulate a [ Transposition ] into the accumulator .
&mut self
transposition
&impl Transposition
&mut self
transposition
&impl Transposition
example
```
use bellmetal::{Change, ChangeAccumulator, Stage}.

let mut accum = ChangeAccumulator::new(Stage::MAXIMUS).

First let's accumulate a cyclic part head
accum.accumulate(&Change::from("567890ET1234")).

And now let's accumulate a change that we might find in that part
accum.accumulate(&Change::from("5432167890ET")).

And the total is a cyclically rotated version of the 5432167890ET:
assert_eq!(accum.total(), &Change::from("987650ET1234"));
```
` ` ` use bellmetal :: { Change ChangeAccumulator Stage } . let mut accum = ChangeAccumulator :: new ( Stage :: MAXIMUS ) . First let ' s accumulate a cyclic part head accum . accumulate ( &Change :: from ( " 567890ET1234 " )) . And now let ' s accumulate a change that we might find in that part accum . accumulate ( &Change :: from ( " 5432167890ET " )) . And the total is a cyclically rotated version of the 5432167890ET : assert_eq! ( accum . total () &Change :: from ( " 987650ET1234 " )) ; ` ` `