MegaApi.Rsa.bsub C# (CSharp) Method

bsub() public static method

public static bsub ( uint a, uint b ) : uint[]
a uint
b uint
return uint[]
        public static uint[] bsub(uint[] a, uint[] b)
        {
            var al = a.Length;
            var bl = b.Length;

            if (bl > al) return new uint[] { };
            if (bl == al)
            {
                if (b[bl - 1] > a[bl - 1]) return new uint[] { };
                if (bl == 1) return new uint[] { a[0] - b[0] };
            }

            var r = new uint[al];
            uint c = 0;

            int n;
            for (n = 0; n < bl; n++)
            {
                c += a[n] - b[n];
                r[n] = (uint)(c & bm);
                c >>= bs;
            }
            for (; n < al; n++)
            {
                c += a[n];
                r[n] = (uint)(c & bm);
                c >>= bs;
            }
            if (c != 0) return new uint[] { };

            return zclip(r);
        }