Mercurial > public > cpp-enigma
view enigma/enigma_utils.h @ 13:b9d124a15926
To improve cache performance, the enigma machine rotors are now stored
together with the reflector in a vector.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Mon, 02 Jul 2012 19:14:36 -0500 |
parents | 424111a36ed7 |
children |
line wrap: on
line source
#ifndef CPP_ENIGMA_ENIGMA_UTILS_H #define CPP_ENIGMA_ENIGMA_UTILS_H // Copyright (C) 2012 by Brian Neal. // This file is part of Cpp-Enigma, the Enigma Machine simulation. // Cpp-Enigma is released under the MIT License (see License.txt). // // enigma_utils.h - This file contains common functions used throughout Cpp-Enigma. #include <string> namespace enigma { // This version of mod acts like Python's with respect to negative dividends. inline int alpha_mod(int dividend) { if (dividend < 0) { dividend += 26; } return dividend % 26; } // Removes spaces from a string and returns the resulting string: std::string remove_spaces(const std::string& s); // Removes spaces & converts to signal numbers: std::string preprocess_ciphertext(const std::string& s); } #endif