UserSimulation.ErrorGenerator.GenerateDistributionForChar C# (CSharp) Méthode

GenerateDistributionForChar() private méthode

private GenerateDistributionForChar ( Microsoft.FSharp.Core.FSharpOption c, Classification classification ) : double>.Dictionary
c Microsoft.FSharp.Core.FSharpOption
classification Classification
Résultat double>.Dictionary
        private Dictionary<string, double> GenerateDistributionForChar(OptChar c, Classification classification)
        {
            var typo_dict = classification.GetTypoDict();
            var kvps = typo_dict.Where(pair => {
                if (OptChar.get_IsNone(pair.Key.Item1))
                {
                    if (OptChar.get_IsNone(c))
                    {
                        return true;
                    }
                    return false;
                }
                else
                {
                    return pair.Key.Item1.Equals(c);
                }
            }).ToArray();
            var sum = kvps.Select(pair => pair.Value).Sum();
            var distribution = kvps.Select(pair => new KeyValuePair<string,double>(pair.Key.Item2, (double) pair.Value / sum));
            return distribution.ToDictionary(pair => pair.Key, pair => pair.Value);
        }