pub fn reset(&mut self) {
        self.slow.reset();
        self.mid.reset();
        self.fast.reset();
    }
/// Resets the `Enigma` to its initial state.
///
/// # Examples
///
/// ```
/// use ultra::Enigma;
///
/// let msg = "THIS IS A TEST";
///
/// let mut enigma = Enigma::random();
/// let ciphertext_1 = enigma.encrypt(msg);
/// let ciphertext_2 = enigma.encrypt(msg);
///
/// enigma.reset();
///
/// assert_eq!(ciphertext_1, enigma.encrypt(msg));
/// assert!(ciphertext_1 != ciphertext_2);
/// ```
Resets the `Enigma` to its initial state.
Resets the ` Enigma ` to its initial state .
pub fn reset(&mut self) {
        self.slow.reset();
        self.mid.reset();
        self.fast.reset();
    }
pub fn reset ( & mut self ) { self . slow . reset ( ) ; self . mid . reset ( ) ; self . fast . reset ( ) ; }
Resets the `Enigma` to its initial state.
Resets the ` Enigma ` to its initial state .
&mut self
&mut self
examples
```
use ultra::Enigma.

let msg = "THIS IS A TEST".

let mut enigma = Enigma::random();
let ciphertext_1 = enigma.encrypt(msg);
let ciphertext_2 = enigma.encrypt(msg).

enigma.reset().

assert_eq!(ciphertext_1, enigma.encrypt(msg));
assert!(ciphertext_1 != ciphertext_2);
```
` ` ` use ultra :: Enigma . let msg = " THIS IS A TEST " . let mut enigma = Enigma :: random () ; let ciphertext_1 = enigma . encrypt ( msg ) ; let ciphertext_2 = enigma . encrypt ( msg ) . enigma . reset () . assert_eq! ( ciphertext_1 enigma . encrypt ( msg )) ; assert! ( ciphertext_1 ! = ciphertext_2 ) ; ` ` `