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); }
private static string RandomizeCase(string input) { return(string.Join( "", input .Select(c => c.ToString()) .Select( c => RandomNumber.NextDouble() < 0.5 ? c.ToLowerInvariant() : c.ToUpperInvariant() ))); }
public void NextDouble_Multithreaded() { RunMultithreaded(() => RandomNumber.NextDouble()); }
/// <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); }
public void NextDoubleTest() { double testDouble = RandomNumber.NextDouble(); Assert.IsTrue(testDouble >= 0 && testDouble < 1); }