using System; using System.Collections.Generic; using System.Diagnostics; namespace BotSharp.Algorithm.Bayesian { /// /// Struct CombinedConditionalProbability /// [DebuggerDisplay("P({Class}|{TokenProbabilities.Count} tokens)={Probability}")] public struct CombinedConditionalProbability { /// /// The class /// public readonly IClass Class; /// /// The token probabilities /// public ICollection TokenProbabilities; /// /// The probability /// public double Probability; /// /// Initializes a new instance of the struct. /// /// The class. /// The probability. /// The tokenProbabilities. public CombinedConditionalProbability(IClass @class, double probability, ICollection tokenProbabilities) { if (ReferenceEquals(@class, null)) throw new ArgumentNullException("class"); if (ReferenceEquals(tokenProbabilities, null)) throw new ArgumentNullException("tokenProbabilities"); if (probability < 0) throw new ArgumentOutOfRangeException("probability", probability, "Probability must greater than or equal to zero"); if (probability > 1) throw new ArgumentOutOfRangeException("probability", probability, "Probability must less than or equal to one"); Class = @class; TokenProbabilities = tokenProbabilities; Probability = probability; } } }