public WordMapping(string word) { _letters = new LetterMapping[word.Length]; for (int i = 0; i < _letters.Length; i++) { _letters[i] = new LetterMapping(word[i], 0); } }
internal WordMapping[] GetNexts(KeyValuePair <string, double>[][] distribution) { var list = new List <WordMapping>(); for (int i = 0; i < _letters.Length; i++) { if (_letters[i].HaveNext(distribution[i].Length)) { var newLetters = new LetterMapping[_letters.Length]; for (int j = 0; j < newLetters.Length; j++) { newLetters[j] = new LetterMapping(_letters[j].Letter, _letters[j].State); } newLetters[i] = newLetters[i].GetNext(distribution[i].Length); list.Add(new WordMapping(newLetters)); } } return(list.ToArray()); }