Пример #1
0
        private float GetAverage(float[][] first, float[][] second)
        {
            var diff = 0.0f;

            if (VectorHelper.IsHardwareAccelerated)
            {
                for (int i = 0; i < first.Length; i++)
                {
                    diff += VectorHelper.AbsDiffAverage(first[i], 0, second[i], 0, first[i].Length);
                }
            }
            else
            {
                for (int i = 0; i < first.Length; i++)
                {
                    var firstRow  = first[i];
                    var secondRow = second[i];
                    var local     = 0.0f;
                    for (int j = 0; j < firstRow.Length; j++)
                    {
                        local += Math.Abs(firstRow[j] - secondRow[j]);
                    }
                    diff += local / firstRow.Length;
                }
            }
            diff = diff / first.Length;
            FirstMatrix.ReleaseResource();
            SecondMatrix.ReleaseResource();
            return(diff);
        }
Пример #2
0
        private float GetAverage(float[][] first, float[][] second)
        {
            var diff = 0.0f;

            for (int i = 0; i < first.Length; i++)
            {
                diff += VectorHelper.AbsDiffAverage(first[i], 0, second[i], 0, first[i].Length);
            }

            diff = diff / first.Length;
            FirstMatrix.ReleaseResource();
            SecondMatrix.ReleaseResource();
            return(diff);
        }