Beispiel #1
0
        public static PerfMatrix <LblT> GetCoincidenceMatrix <LblT>(PerfMatrix <LblT> mtx, IEnumerable <LblT> excludeValues = null)
        {
            Preconditions.CheckNotNull(mtx);
            LblT[] values = Enum.GetValues(typeof(LblT)).Cast <LblT>().Where(v => excludeValues == null || !excludeValues.Contains(v)).ToArray();
            var    result = new PerfMatrix <LblT>();

            foreach (LblT first in values)
            {
                foreach (LblT second in values)
                {
                    result.AddCount(first, second, mtx.Get(first, second) + mtx.Get(second, first));
                }
            }
            return(result);
        }
Beispiel #2
0
 public static bool IsMatrixSymetrical <LblT>(PerfMatrix <LblT> mtx, IEnumerable <LblT> excludeValues = null)
 {
     Preconditions.CheckNotNull(mtx);
     LblT[] values = Enum.GetValues(typeof(LblT)).Cast <LblT>().Where(v => excludeValues == null || !excludeValues.Contains(v)).ToArray();
     foreach (LblT first in values)
     {
         foreach (LblT second in values)
         {
             if (EqualityComparer <LblT> .Default.Equals(first, second))
             {
                 continue;
             }
             if (mtx.Get(first, second) != mtx.Get(second, first))
             {
                 return(false);
             }
         }
     }
     return(true);
 }