Do rotors in the right directions, with inverted encoding as needed
This commit is contained in:
		
							parent
							
								
									799de761dc
								
							
						
					
					
						commit
						b3bc058c1d
					
				
					 1 changed files with 6 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -21,17 +21,17 @@ class Machine {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    func encode(c: Character) throws -> Character {
 | 
			
		||||
        advanceRotors()
 | 
			
		||||
        var output = c
 | 
			
		||||
        output = try plugboard.encode(output)
 | 
			
		||||
        for rotor in rotors {
 | 
			
		||||
            output = try rotor.encode(output)
 | 
			
		||||
        }
 | 
			
		||||
        output = try reflector.encode(output)
 | 
			
		||||
        for rotor in rotors.reverse() {
 | 
			
		||||
            output = try rotor.encode(output)
 | 
			
		||||
        }
 | 
			
		||||
        output = try plugboard.encode(output)
 | 
			
		||||
        advanceRotors()
 | 
			
		||||
        output = try reflector.encode(output)
 | 
			
		||||
        for rotor in rotors {
 | 
			
		||||
            output = try rotor.inverseEncode(output)
 | 
			
		||||
        }
 | 
			
		||||
        output = try plugboard.inverseEncode(output)
 | 
			
		||||
        return output
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue