/// <include file='FactorDocs.xml' path='factor_docs/message_op_class[@name="SumVectorGaussianOp"]/message_doc[@name="LogAverageFactor(Vector, IList{Vector})"]/*'/>
        public static double LogAverageFactor(Vector sum, IList <Vector> array)
        {
            if (sum == null)
            {
                throw new ArgumentNullException(nameof(sum));
            }

            if (array == null)
            {
                throw new ArgumentNullException(nameof(array));
            }

            if (array.Count == 0)
            {
                return((sum == Vector.Zero(sum.Count)) ? 0.0 : double.NegativeInfinity);
            }

            return((sum == Factor.Sum(array)) ? 0.0 : double.NegativeInfinity);
        }
示例#2
0
 /// <include file='FactorDocs.xml' path='factor_docs/message_op_class[@name="FastSumOp"]/message_doc[@name="LogAverageFactor(double, IList{double})"]/*'/>
 public static double LogAverageFactor(double sum, IList <double> array)
 {
     return((sum == Factor.Sum(array)) ? 0.0 : Double.NegativeInfinity);
 }