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); }
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); }