예제 #1
0
        private char NextLetter(string token)
        {
            List <char> letters;

            // get all the letters that come after the passed-in token
            // then pick a random one and return it
            if (RandomNumber.NextDouble() > 0.05)
            {
                letters = MarkovChain[token];
            }
            else
            {
                letters = MarkovChain[GetRandomKey()];
            }

            int nextLetter = RandomNumber.Next(letters.Count);

            var c = letters[nextLetter];

            while (token.IsAllConsonants())
            {
                if (c.IsVowel())
                {
                    return(c);
                }
                else
                {
                    c = NextLetter(token);
                }
            }

            return(c);
        }
예제 #2
0
 private static string RandomizeCase(string input)
 {
     return(string.Join(
                "",
                input
                .Select(c => c.ToString())
                .Select(
                    c => RandomNumber.NextDouble() < 0.5
                     ? c.ToLowerInvariant()
                     : c.ToUpperInvariant()
                    )));
 }
예제 #3
0
 public void NextDouble_Multithreaded()
 {
     RunMultithreaded(() => RandomNumber.NextDouble());
 }
예제 #4
0
 /// <summary>
 /// Get a random float between min and max
 /// </summary>
 /// <param name="min">the minimum random value</param>
 /// <param name="max">the maximum random value</param>
 /// <returns>float</returns>
 public static float RandomMinMax(float min, float max)
 {
     return(min + (float)RandomNumber.NextDouble() * (max - min));
 }
 /// <summary>
 ///   Generates a weighted Boolean value
 /// </summary>
 /// <param name="trueProbability">
 ///   The probability to have a true value. Ranges from 0.0 to 1.0.
 /// </param>
 /// <returns>The random boolean value</returns>
 public static bool Next(double trueProbability)
 {
     return(RandomNumber.NextDouble() < trueProbability);
 }
예제 #6
0
        public void NextDoubleTest()
        {
            double testDouble = RandomNumber.NextDouble();

            Assert.IsTrue(testDouble >= 0 && testDouble < 1);
        }