コード例 #1
0
ファイル: PPMContext.cs プロジェクト: zipgenius/sharpcompress
        internal SEE2Context makeEscFreq(ModelPPM model, int numMasked, out int escFreq)
        {
            SEE2Context psee2c;
            int         numStats  = NumStats;
            int         nonMasked = numStats - numMasked;

            if (numStats != 256)
            {
                PPMContext suff = getTempPPMContext(model.Heap);
                suff.Address = getSuffix();
                int idx1 = model.getNS2Indx()[nonMasked - 1];
                int idx2 = 0;
                idx2   += ((nonMasked < suff.NumStats - numStats) ? 1 : 0);
                idx2   += 2 * ((freqData.SummFreq < 11 * numStats) ? 1 : 0);
                idx2   += 4 * ((numMasked > nonMasked) ? 1 : 0);
                idx2   += model.HiBitsFlag;
                psee2c  = model.getSEE2Cont()[idx1][idx2];
                escFreq = psee2c.Mean;
            }
            else
            {
                psee2c  = model.DummySEE2Cont;
                escFreq = 1;
            }
            return(psee2c);
        }
コード例 #2
0
ファイル: PPMContext.cs プロジェクト: zipgenius/sharpcompress
        private SEE2Context makeEscFreq2(ModelPPM model, int Diff)
        {
            SEE2Context psee2c;
            int         numStats = NumStats;

            if (numStats != 256)
            {
                PPMContext suff = getTempPPMContext(model.Heap);
                suff.Address = getSuffix();
                int idx1 = model.getNS2Indx()[Diff - 1];
                int idx2 = 0;
                idx2  += ((Diff < suff.NumStats - numStats) ? 1 : 0);
                idx2  += 2 * ((freqData.SummFreq < 11 * numStats) ? 1 : 0);
                idx2  += 4 * ((model.NumMasked > Diff) ? 1 : 0);
                idx2  += model.HiBitsFlag;
                psee2c = model.getSEE2Cont()[idx1][idx2];
                model.Coder.SubRange.Scale = psee2c.Mean;
            }
            else
            {
                psee2c = model.DummySEE2Cont;
                model.Coder.SubRange.Scale = 1;
            }
            return(psee2c);
        }
コード例 #3
0
        private SEE2Context makeEscFreq2(ModelPPM model, int Diff)
        {
            SEE2Context context;
            int         numStats = this.NumStats;

            if (numStats != 0x100)
            {
                PPMContext context2 = this.getTempPPMContext(model.Heap);
                context2.Address = this.getSuffix();
                int index = model.getNS2Indx()[Diff - 1];
                int num3  = 0;
                num3   += (Diff < (context2.NumStats - numStats)) ? 1 : 0;
                num3   += 2 * ((this.freqData.SummFreq < (11 * numStats)) ? 1 : 0);
                num3   += 4 * ((model.NumMasked > Diff) ? 1 : 0);
                num3   += model.HiBitsFlag;
                context = model.getSEE2Cont()[index][num3];
                model.Coder.SubRange.Scale = context.Mean;
                return(context);
            }
            context = model.DummySEE2Cont;
            model.Coder.SubRange.Scale = 1L;
            return(context);
        }
コード例 #4
0
        internal SEE2Context makeEscFreq(ModelPPM model, int numMasked, out int escFreq)
        {
            SEE2Context context;
            int         numStats = this.NumStats;
            int         num2     = numStats - numMasked;

            if (numStats != 0x100)
            {
                PPMContext context2 = this.getTempPPMContext(model.Heap);
                context2.Address = this.getSuffix();
                int index = model.getNS2Indx()[num2 - 1];
                int num4  = 0;
                num4   += (num2 < (context2.NumStats - numStats)) ? 1 : 0;
                num4   += 2 * ((this.freqData.SummFreq < (11 * numStats)) ? 1 : 0);
                num4   += 4 * ((numMasked > num2) ? 1 : 0);
                num4   += model.HiBitsFlag;
                context = model.getSEE2Cont()[index][num4];
                escFreq = context.Mean;
                return(context);
            }
            context = model.DummySEE2Cont;
            escFreq = 1;
            return(context);
        }
コード例 #5
0
ファイル: PPMContext.cs プロジェクト: nickchal/pash
 internal SEE2Context makeEscFreq(ModelPPM model, int numMasked, out int escFreq)
 {
     SEE2Context psee2c;
     int numStats = NumStats;
     int nonMasked = numStats - numMasked;
     if (numStats != 256)
     {
         PPMContext suff = getTempPPMContext(model.Heap);
         suff.Address = getSuffix();
         int idx1 = model.getNS2Indx()[nonMasked - 1];
         int idx2 = 0;
         idx2 += ((nonMasked < suff.NumStats - numStats) ? 1 : 0);
         idx2 += 2 * ((freqData.SummFreq < 11 * numStats) ? 1 : 0);
         idx2 += 4 * ((numMasked > nonMasked) ? 1 : 0);
         idx2 += model.HiBitsFlag;
         psee2c = model.getSEE2Cont()[idx1][idx2];
         escFreq = psee2c.Mean;
     }
     else
     {
         psee2c = model.DummySEE2Cont;
         escFreq = 1;
     }
     return psee2c;
 }
コード例 #6
0
ファイル: PPMContext.cs プロジェクト: nickchal/pash
 private SEE2Context makeEscFreq2(ModelPPM model, int Diff)
 {
     SEE2Context psee2c;
     int numStats = NumStats;
     if (numStats != 256)
     {
         PPMContext suff = getTempPPMContext(model.Heap);
         suff.Address = getSuffix();
         int idx1 = model.getNS2Indx()[Diff - 1];
         int idx2 = 0;
         idx2 += ((Diff < suff.NumStats - numStats) ? 1 : 0);
         idx2 += 2 * ((freqData.SummFreq < 11 * numStats) ? 1 : 0);
         idx2 += 4 * ((model.NumMasked > Diff) ? 1 : 0);
         idx2 += model.HiBitsFlag;
         psee2c = model.getSEE2Cont()[idx1][idx2];
         model.Coder.SubRange.Scale = psee2c.Mean;
     }
     else
     {
         psee2c = model.DummySEE2Cont;
         model.Coder.SubRange.Scale = 1;
     }
     return psee2c;
 }
コード例 #7
0
ファイル: PPMContext.cs プロジェクト: RainsSoft/sharpcompress
 private SEE2Context makeEscFreq2(ModelPPM model, int Diff)
 {
     SEE2Context context;
     int numStats = this.NumStats;
     if (numStats != 0x100)
     {
         PPMContext context2 = this.getTempPPMContext(model.Heap);
         context2.Address = this.getSuffix();
         int index = model.getNS2Indx()[Diff - 1];
         int num3 = 0;
         num3 += (Diff < (context2.NumStats - numStats)) ? 1 : 0;
         num3 += 2 * ((this.freqData.SummFreq < (11 * numStats)) ? 1 : 0);
         num3 += 4 * ((model.NumMasked > Diff) ? 1 : 0);
         num3 += model.HiBitsFlag;
         context = model.getSEE2Cont()[index][num3];
         model.Coder.SubRange.Scale = context.Mean;
         return context;
     }
     context = model.DummySEE2Cont;
     model.Coder.SubRange.Scale = 1L;
     return context;
 }
コード例 #8
0
ファイル: PPMContext.cs プロジェクト: RainsSoft/sharpcompress
 internal SEE2Context makeEscFreq(ModelPPM model, int numMasked, out int escFreq)
 {
     SEE2Context context;
     int numStats = this.NumStats;
     int num2 = numStats - numMasked;
     if (numStats != 0x100)
     {
         PPMContext context2 = this.getTempPPMContext(model.Heap);
         context2.Address = this.getSuffix();
         int index = model.getNS2Indx()[num2 - 1];
         int num4 = 0;
         num4 += (num2 < (context2.NumStats - numStats)) ? 1 : 0;
         num4 += 2 * ((this.freqData.SummFreq < (11 * numStats)) ? 1 : 0);
         num4 += 4 * ((numMasked > num2) ? 1 : 0);
         num4 += model.HiBitsFlag;
         context = model.getSEE2Cont()[index][num4];
         escFreq = context.Mean;
         return context;
     }
     context = model.DummySEE2Cont;
     escFreq = 1;
     return context;
 }