예제 #1
0
        private void TransformCols(Matrix data, int level, Direction direction)
        {
            int n = data.NoCols / (int)Math.Pow(2, level - 1);

            for (int i = 0; i < n; i++)
            {
                data.SelectCol(i);
                if (direction == Direction.Forward)
                {
                    _lifter.ForwardTrans(data, level);
                }
                else if (direction == Direction.Inverse)
                {
                    _lifter.InverseTrans(data, level);
                }
                else
                {
                    throw new ArgumentException("Direction is not valid.");
                }
            }
        }
        private void TransformCols(Matrix data, int level, Direction direction)
        {
            int n = data.NoCols / (int)Math.Pow(2, level - 1);

            for (int i = 0; i < n; i++)
            {
                //Console.WriteLine(string.Format("Level = {0}, Col = {1}", level, i));
                data.SelectCol(i);
                if (direction == Direction.Forward)
                {
                    _lifter.ForwardTrans(data, level);
                }
                else if (direction == Direction.Inverse)
                {
                    _lifter.InverseTrans(data, level);
                }
                else
                {
                    throw new ArgumentException("Direction is not valid.");
                }
            }
        }