Пример #1
0
 /// <summary>Evidence message for EP.</summary>
 /// <param name="areEqual">Constant value for <c>areEqual</c>.</param>
 /// <param name="A">Incoming message from <c>a</c>.</param>
 /// <param name="B">Incoming message from <c>b</c>.</param>
 /// <returns>Logarithm of the factor's average value across the given argument distributions.</returns>
 /// <remarks>
 ///   <para>The formula for the result is <c>log(sum_(a,b) p(a,b) factor(areEqual,a,b))</c>.</para>
 /// </remarks>
 public static double LogAverageFactor(bool areEqual, TEnum A, DiscreteEnum <TEnum> B)
 {
     return(DiscreteAreEqualOp.LogAverageFactor(areEqual, ToInt(A), B.GetInternalDiscrete()));
 }
Пример #2
0
 /// <summary>Evidence message for EP.</summary>
 /// <param name="areEqual">Constant value for <c>areEqual</c>.</param>
 /// <param name="A">Incoming message from <c>a</c>.</param>
 /// <param name="B">Incoming message from <c>b</c>.</param>
 /// <returns>Logarithm of the factor's average value across the given argument distributions.</returns>
 /// <remarks>
 ///   <para>The formula for the result is <c>log(sum_(a,b) p(a,b) factor(areEqual,a,b))</c>.</para>
 /// </remarks>
 public static double LogAverageFactor(bool areEqual, DiscreteEnum <TEnum> A, TEnum B)
 {
     return(DiscreteAreEqualOp.LogAverageFactor(areEqual, A.GetInternalDiscrete(), ToInt(B)));
 }
Пример #3
0
 /// <summary>Evidence message for EP.</summary>
 /// <param name="areEqual">Constant value for <c>areEqual</c>.</param>
 /// <param name="A">Incoming message from <c>a</c>.</param>
 /// <param name="B">Incoming message from <c>b</c>.</param>
 /// <returns>Logarithm of the factor's average value across the given argument distributions.</returns>
 /// <remarks>
 ///   <para>The formula for the result is <c>log(sum_(a,b) p(a,b) factor(areEqual,a,b))</c>.</para>
 /// </remarks>
 public static double LogAverageFactor(bool areEqual, TEnum A, TEnum B)
 {
     return(DiscreteAreEqualOp.LogAverageFactor(areEqual, ToInt(A), ToInt(B)));
 }