public void SetPrices(int posState, int numSymbols, int[] prices, int st)
        {
            final int a0 = SevenZip.Compression.RangeCoder.Encoder
                    .GetPrice0(_choice[0]);
            final int a1 = SevenZip.Compression.RangeCoder.Encoder
                    .GetPrice1(_choice[0]);
            final int b0 = a1
                    + SevenZip.Compression.RangeCoder.Encoder
                            .GetPrice0(_choice[1]);
            final int b1 = a1
                    + SevenZip.Compression.RangeCoder.Encoder
                            .GetPrice1(_choice[1]);
            int i = 0;
            for (i = 0; i < Base.kNumLowLenSymbols; i++)
            {
                if (i >= numSymbols)
                {
                    return;
                }
                prices[st + i] = a0 + _lowCoder[posState].GetPrice(i);
            }
            for (; i < Base.kNumLowLenSymbols + Base.kNumMidLenSymbols; i++)
            {
                if (i >= numSymbols)
                {
                    return;
                }
                prices[st + i] = b0
                        + _midCoder[posState].GetPrice(i
                                - Base.kNumLowLenSymbols);
            }
            for (; i < numSymbols; i++)
            {
                prices[st + i] = b1
                        + _highCoder.GetPrice(i - Base.kNumLowLenSymbols
                                - Base.kNumMidLenSymbols);
            }
        }