Ghostscript.NET.BufferHelper.ComputeFailure C# (CSharp) Method

ComputeFailure() private static method

private static ComputeFailure ( byte pattern ) : int[]
pattern byte
return int[]
        private static int[] ComputeFailure(byte[] pattern)
        {
            int[] failure = new int[pattern.Length];

            int j = 0;

            for (int i = 1; i < pattern.Length; i++)
            {
                while (j > 0 && pattern[j] != pattern[i])
                {
                    j = failure[j - 1];
                }

                if (pattern[j] == pattern[i])
                {
                    j++;
                }

                failure[i] = j;
            }

            return failure;
        }