view enigma/enigma_utils.h @ 9:7362965f53b1

Added tests for the hill climbing functions in the plugboard class.
author Brian Neal <bgneal@gmail.com>
date Fri, 29 Jun 2012 21:19:00 -0500
parents 2792ca4ffa84
children 424111a36ed7
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);
}

#endif