public SimpleWord GetSimpleWord(Dictionary <int, double> dctLengthDistribution)
        {
            DiscreteRandomizer randomizer = new DiscreteRandomizer(dctLengthDistribution.Values.ToArray());
            int nIndex  = randomizer.Random();
            int nLength = dctLengthDistribution.Keys.ToArray()[nIndex];

            return(GetSimpleWord(nLength));
        }
        /// <summary>
        /// Creates a simple phrase.
        /// </summary>
        /// <param name="numberOfWordDistribution">The distribution of word number in a phrase.</param>
        /// <param name="wordLengthDistribution">The distribution of the length of a phrase.</param>
        /// <returns></returns>
        public SimplePhrase CreateSimplePhrase
        (
            Dictionary <int, int> numberOfWordDistribution,
            Dictionary <int, int> wordLengthDistribution
        )
        {
            DiscreteRandomizer randomizer = new DiscreteRandomizer(numberOfWordDistribution.Values.ToArray());
            int nIndex = randomizer.Random();
            int nWords = numberOfWordDistribution.Keys.ToArray()[nIndex];

            return(CreateSimplePhrase(nWords, wordLengthDistribution));
        }
 /// <summary>
 /// Resets the randomizers with respect to the corresponding language elements.
 /// </summary>
 /// <param name="isNormalized">
 ///		Flag showing wheather the values of the dictionary are already normalized.
 /// </param>
 public void UpdateRandomizers(bool isNormalized)
 {
     try
     {
         _randomizerSyllables        = new DiscreteRandomizer(_syllables.Values.ToArray(), isNormalized);
         _randomizerVowels           = new DiscreteRandomizer(_vowels.Values.ToArray(), isNormalized);
         _randomizerConsonants       = new DiscreteRandomizer(_consonants.Values.ToArray(), isNormalized);
         _randomizerInnerPunctuation = new DiscreteRandomizer(InnerPunctuation.Values.ToArray(), isNormalized);
         _randomizerFinalPunctuation = new DiscreteRandomizer(FinalPunctuation.Values.ToArray(), isNormalized);
         _randomizerWordLength       = new DiscreteRandomizer(_wordLengthDistribution.Values.ToArray());
         _randomizerPhraseLength     = new DiscreteRandomizer(_phraseLengthDistribution.Values.ToArray());
     }
     catch (Exception)
     {
     }
 }