uGIF.NeuQuant.Alterneigh C# (CSharp) Method

Alterneigh() private method

private Alterneigh ( int rad, int i, int b, int g, int r ) : void
rad int
i int
b int
g int
r int
return void
        void Alterneigh(int rad, int i, int b, int g, int r)
        {
            int j, k, lo, hi, a, m;
            int[] p;

            lo = i - rad;
            if (lo < -1)
                lo = -1;
            hi = i + rad;
            if (hi > netsize)
                hi = netsize;

            j = i + 1;
            k = i - 1;
            m = 1;
            while ((j < hi) || (k > lo)) {
                a = radpower [m++];
                if (j < hi) {
                    p = network [j++];
                    p [0] -= (a * (p [0] - b)) / alpharadbias;
                    p [1] -= (a * (p [1] - g)) / alpharadbias;
                    p [2] -= (a * (p [2] - r)) / alpharadbias;

                }
                if (k > lo) {
                    p = network [k--];
                    p [0] -= (a * (p [0] - b)) / alpharadbias;
                    p [1] -= (a * (p [1] - g)) / alpharadbias;
                    p [2] -= (a * (p [2] - r)) / alpharadbias;

                }
            }
        }