亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? modelppm.java

?? 這是架包java-unrar-0.2.jar的源碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
	public int getRunLength()
	{
		return runLength;
	}

    public void incRunLength(int dRunLength) {
        setRunLength(getRunLength() + dRunLength);
    }

	public int getPrevSuccess()
	{
		return prevSuccess;
	}

	public int getHiBitsFlag()
	{
		return hiBitsFlag;
	}

	public void setHiBitsFlag(int hiBitsFlag)
	{
		this.hiBitsFlag = hiBitsFlag&0xff;
	}

	public int[][] getBinSumm()
	{
		return binSumm;
	}

	public RangeCoder getCoder()
	{
		return coder;
	}

	public int[] getHB2Flag()
	{
		return HB2Flag;
	}

	public int[] getNS2BSIndx()
	{
		return NS2BSIndx;
	}

	public int[] getNS2Indx()
	{
		return NS2Indx;
	}

	public State getFoundState()
	{
		return foundState;
	}

	public byte[] getHeap()
	{
		return subAlloc.getHeap();
	}

	public int getOrderFall()
	{
		return orderFall;
	}

	private int /* ppmcontext ptr */createSuccessors(boolean Skip,
            State p1 /* state ptr */) {
		//State upState = tempState1.init(null);
		StateRef upState = tempStateRef2;
		State tempState = tempState1.init(getHeap());

		// PPM_CONTEXT* pc=MinContext, * UpBranch=FoundState->Successor;
		PPMContext pc = tempPPMContext1.init(getHeap());
		pc.setAddress(minContext.getAddress());
		PPMContext upBranch = tempPPMContext2.init(getHeap());
		upBranch.setAddress(foundState.getSuccessor());

		// STATE * p, * ps[MAX_O], ** pps=ps;
		State p = tempState2.init(getHeap());
		int pps = 0;

		boolean noLoop = false;

		if (!Skip) {
			ps[pps++] = foundState.getAddress();// *pps++ = FoundState;
			if (pc.getSuffix() == 0) {
				noLoop = true;
			}
		}
		if (!noLoop) {
			boolean loopEntry = false;
			if (p1.getAddress() != 0) {
				p.setAddress(p1.getAddress());
				pc.setAddress(pc.getSuffix());// =pc->Suffix;
				loopEntry = true;
			}
			do {
				if (!loopEntry) {
					pc.setAddress(pc.getSuffix());// pc=pc->Suffix;
					if (pc.getNumStats() != 1) {
						p.setAddress(pc.getFreqData().getStats());// p=pc->U.Stats
						if (p.getSymbol() != foundState.getSymbol()) {
							do {
								p.incAddress();
							} while (p.getSymbol() != foundState.getSymbol());
						}
					} else {
						p.setAddress(pc.getOneState().getAddress());// p=&(pc->OneState);
					}
				}// LOOP_ENTRY:
				loopEntry = false;
				if (p.getSuccessor() != upBranch.getAddress()) {
					pc.setAddress(p.getSuccessor());// =p->Successor;
					break;
				}
				ps[pps++] = p.getAddress();
			} while (pc.getSuffix() != 0);

		} // NO_LOOP:
		if (pps == 0) {
			return pc.getAddress();
		}
		upState.setSymbol(getHeap()[upBranch.getAddress()]);// UpState.Symbol=*(byte*)
															// UpBranch;
		// UpState.Successor=(PPM_CONTEXT*) (((byte*) UpBranch)+1);
		upState.setSuccessor(upBranch.getAddress() + 1); //TODO check if +1 necessary
		if (pc.getNumStats() != 1) {
			if (pc.getAddress() <= subAlloc.getPText()) {
				return (0);
			}
			p.setAddress(pc.getFreqData().getStats());
			if (p.getSymbol() != upState.getSymbol()) {
				do {
					p.incAddress();
				} while (p.getSymbol() != upState.getSymbol());
			}
			int cf = p.getFreq() - 1;
			int s0 = pc.getFreqData().getSummFreq() - pc.getNumStats() - cf;
			// UpState.Freq=1+((2*cf <= s0)?(5*cf > s0):((2*cf+3*s0-1)/(2*s0)));
			upState.setFreq(1 + ((2 * cf <= s0) ? (5 * cf > s0 ? 1 : 0) :
                    ((2 * cf + 3 * s0 - 1) / (2 * s0))));
		} else {
			upState.setFreq(pc.getOneState().getFreq());// UpState.Freq=pc->OneState.Freq;
		}
		do {
			// pc = pc->createChild(this,*--pps,UpState);
			tempState.setAddress(ps[--pps]);
			pc.setAddress(pc.createChild(this, tempState, upState));
			if (pc.getAddress() == 0) {
				return 0;
			}
		} while (pps != 0);
		return pc.getAddress();
	}

	private void updateModelRestart()
	{
		restartModelRare();
		escCount = 0;
	}

	private void updateModel()
	{
        //System.out.println("ModelPPM.updateModel()");
		// STATE fs = *FoundState, *p = NULL;
		StateRef fs = tempStateRef1;
		fs.setValues(foundState);
		State p = tempState3.init(getHeap());
		State tempState = tempState4.init(getHeap());

		PPMContext pc = tempPPMContext3.init(getHeap());
		PPMContext successor = tempPPMContext4.init(getHeap());

		int ns1, ns, cf, sf, s0;
		pc.setAddress(minContext.getSuffix());
		if (fs.getFreq() < MAX_FREQ / 4 && pc.getAddress() != 0) {
			if (pc.getNumStats() != 1) {
				p.setAddress(pc.getFreqData().getStats());
				if (p.getSymbol() != fs.getSymbol()) {
					do {
						p.incAddress();
					} while (p.getSymbol() != fs.getSymbol());
					tempState.setAddress(p.getAddress() - State.size);
					if (p.getFreq() >= tempState.getFreq()) {
						State.ppmdSwap(p, tempState);
						p.decAddress();
					}
				}
				if (p.getFreq() < MAX_FREQ - 9) {
					p.incFreq(2);
					pc.getFreqData().incSummFreq(2);
				}
			} else {
				p.setAddress(pc.getOneState().getAddress());
                if (p.getFreq() < 32) {
                    p.incFreq(1);
                }
			}
		}
		if (orderFall == 0) {
			foundState.setSuccessor(createSuccessors(true, p));
			minContext.setAddress(foundState.getSuccessor());
			maxContext.setAddress(foundState.getSuccessor());
			if (minContext.getAddress() == 0) {
				updateModelRestart();
				return;
			}
			return;
		}
		subAlloc.getHeap()[subAlloc.getPText()] = (byte)fs.getSymbol();
		subAlloc.incPText();
		successor.setAddress(subAlloc.getPText());
		if (subAlloc.getPText() >= subAlloc.getFakeUnitsStart()) {
			updateModelRestart();
			return;
		}
//        // Debug
//        subAlloc.dumpHeap();
		if (fs.getSuccessor() != 0) {
			if (fs.getSuccessor() <= subAlloc.getPText()) {
				fs.setSuccessor(createSuccessors(false, p));
				if (fs.getSuccessor() == 0) {
					updateModelRestart();
					return;
				}
			}
			if (--orderFall == 0) {
				successor.setAddress(fs.getSuccessor());
                if (maxContext.getAddress() != minContext.getAddress()) {
                    subAlloc.decPText(1);
                }
			}
		}
        else {
			foundState.setSuccessor(successor.getAddress());
			fs.setSuccessor(minContext);
		}
//        // Debug
//        subAlloc.dumpHeap();
		ns = minContext.getNumStats();
		s0 = minContext.getFreqData().getSummFreq() - (ns) - (fs.getFreq() - 1);
		for (pc.setAddress(maxContext.getAddress());
                pc.getAddress() != minContext.getAddress();
                pc.setAddress(pc.getSuffix())) {
			if ((ns1 = pc.getNumStats()) != 1) {
				if ((ns1 & 1) == 0) {
					//System.out.println(ns1);
					pc.getFreqData().setStats(
							subAlloc.expandUnits(pc.getFreqData().getStats(),
									ns1 >>> 1));
					if (pc.getFreqData().getStats() == 0) {
						updateModelRestart();
						return;
					}
				}
                // bug fixed
//				int sum = ((2 * ns1 < ns) ? 1 : 0) +
//                        2 * ((4 * ((ns1 <= ns) ? 1 : 0)) & ((pc.getFreqData()
//								.getSummFreq() <= 8 * ns1) ? 1 : 0));
				int sum = ((2 * ns1 < ns) ? 1 : 0) + 2 * (
                        ((4 * ns1 <= ns) ? 1 : 0) &
                        ((pc.getFreqData().getSummFreq() <= 8 * ns1) ? 1 : 0)
                        );
				pc.getFreqData().incSummFreq(sum);
			}
            else {
				p.setAddress(subAlloc.allocUnits(1));
				if (p.getAddress() == 0) {
					updateModelRestart();
					return;
				}
				p.setValues(pc.getOneState());
				pc.getFreqData().setStats(p);
				if (p.getFreq() < MAX_FREQ / 4 - 1) {
					p.incFreq(p.getFreq());
				}
                else {
					p.setFreq(MAX_FREQ - 4);
				}
				pc.getFreqData().setSummFreq(
                        (p.getFreq() + initEsc + (ns > 3 ? 1 : 0)));
			}
			cf = 2 * fs.getFreq() * (pc.getFreqData().getSummFreq() + 6);
			sf = s0 + pc.getFreqData().getSummFreq();
			if (cf < 6 * sf) {
				cf = 1 + (cf > sf ? 1 : 0) + (cf >= 4 * sf ? 1 : 0);
				pc.getFreqData().incSummFreq(3);
			}
            else {
				cf = 4 + (cf >= 9 * sf ? 1 : 0) + (cf >= 12 * sf ? 1 : 0) +
                        (cf >= 15 * sf ? 1 : 0);
				pc.getFreqData().incSummFreq(cf);
			}
			p.setAddress(pc.getFreqData().getStats() + ns1*State.size);
			p.setSuccessor(successor);
			p.setSymbol(fs.getSymbol());
			p.setFreq(cf);
			pc.setNumStats(++ns1);
		}
		
		int address = fs.getSuccessor();
		maxContext.setAddress(address);
		minContext.setAddress(address);
		//TODO-----debug
//		int pos = minContext.getFreqData().getStats();
//		State a = new State(getHeap());
//		a.setAddress(pos);
//		pos+=State.size;
//		a.setAddress(pos);
		//--dbg end
		return;
	}

    // Debug
    public String toString() {
        StringBuilder buffer = new StringBuilder();
        buffer.append("ModelPPM[");
        buffer.append("\n  numMasked=");
        buffer.append(numMasked);
        buffer.append("\n  initEsc=");
        buffer.append(initEsc);
        buffer.append("\n  orderFall=");
        buffer.append(orderFall);
        buffer.append("\n  maxOrder=");
        buffer.append(maxOrder);
        buffer.append("\n  runLength=");
        buffer.append(runLength);
        buffer.append("\n  initRL=");
        buffer.append(initRL);
        buffer.append("\n  escCount=");
        buffer.append(escCount);
        buffer.append("\n  prevSuccess=");
        buffer.append(prevSuccess);
        buffer.append("\n  foundState=");
        buffer.append(foundState);
        buffer.append("\n  coder=");
        buffer.append(coder);
        buffer.append("\n  subAlloc=");
        buffer.append(subAlloc);
        buffer.append("\n]");
        return buffer.toString();
    }

    // Debug
//    public void dumpHeap() {
//        subAlloc.dumpHeap();
//    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩综合小视频| 久久久久久综合| 亚洲精品免费一二三区| 色综合久久中文综合久久97| 伊人色综合久久天天| 欧美日韩在线观看一区二区 | 日韩精品午夜视频| 欧美一区二区三区电影| 精品一区二区免费| 日本一区二区三区四区| 99久精品国产| 午夜精品一区二区三区免费视频| 欧美日韩成人综合天天影院| 麻豆国产欧美一区二区三区| 久久欧美中文字幕| 91麻豆精东视频| 香蕉久久一区二区不卡无毒影院| 日韩视频在线一区二区| 国产精品99久久久久久有的能看| 国产精品欧美经典| 欧美乱妇20p| 国产精品99久久久久久似苏梦涵 | 欧美人与禽zozo性伦| 久久精品国产精品亚洲精品| 国产精品视频免费| 欧美日韩中字一区| 国产在线不卡视频| 一区二区成人在线| 日韩精品一区在线观看| av一本久道久久综合久久鬼色| 亚洲成人午夜影院| 国产精品视频看| 91麻豆精品国产91久久久久| 高清国产午夜精品久久久久久| 亚洲主播在线观看| 中文av一区特黄| 91精品国产综合久久精品app| 国产成人av电影免费在线观看| 亚洲国产欧美日韩另类综合 | 国产精品萝li| 欧美一区日韩一区| 91亚洲永久精品| 美洲天堂一区二卡三卡四卡视频| 亚洲欧美一区二区视频| 欧美一区二区三区系列电影| 成人av电影在线播放| 久久精品999| 亚洲一区二区免费视频| 国产精品色婷婷久久58| 国产日韩欧美亚洲| 欧美日韩精品欧美日韩精品一| 国产成人一级电影| 久久电影网电视剧免费观看| 亚洲与欧洲av电影| 18成人在线观看| 国产欧美精品一区二区色综合| 3d动漫精品啪啪1区2区免费| 91女人视频在线观看| 国产福利一区二区三区视频 | 日韩美女视频在线| 欧美男生操女生| 在线观看亚洲专区| 91亚洲永久精品| av动漫一区二区| 粉嫩aⅴ一区二区三区四区| 久久er精品视频| 免费日韩伦理电影| 奇米一区二区三区av| 亚洲成人一二三| 亚洲福利视频一区二区| 一区二区在线观看视频在线观看| 国产精品视频看| 亚洲国产欧美在线人成| 亚洲综合一区二区| 一区二区三区中文在线观看| 亚洲色欲色欲www| 一区二区在线观看免费 | 亚洲一区视频在线| 亚洲欧美国产77777| 亚洲天堂福利av| 亚洲精品伦理在线| 亚洲一区二区四区蜜桃| 亚洲一区免费视频| 亚洲超碰精品一区二区| 亚洲图片欧美色图| 午夜精品福利一区二区三区av| 天天操天天干天天综合网| 午夜精品在线看| 久久国产精品色| 国产一区不卡视频| 波多野结衣欧美| 欧美性受极品xxxx喷水| 欧美日韩www| 日韩欧美一级二级三级| 国产视频一区在线观看| 亚洲欧洲性图库| 亚洲精品v日韩精品| 天天色图综合网| 久久99久久精品| 成人免费视频免费观看| 色婷婷av久久久久久久| 欧美日韩精品系列| 精品日韩在线观看| 国产精品网站在线观看| 亚洲少妇30p| 美女任你摸久久| 丁香桃色午夜亚洲一区二区三区| 色狠狠色狠狠综合| 日韩三级电影网址| 国产精品美女久久久久久久网站| 一区二区在线观看视频| 久久精品国产亚洲aⅴ| 91丨porny丨国产入口| 制服丝袜亚洲精品中文字幕| 久久久精品人体av艺术| 一区二区三区不卡视频| 黄色小说综合网站| 色综合久久久久综合体| 日韩一区二区三区视频在线| 国产精品久久久久aaaa樱花| 亚洲国产精品欧美一二99| 国产一区二区伦理片| 在线看国产一区| 久久久亚洲高清| 调教+趴+乳夹+国产+精品| 国产999精品久久久久久 | 日韩欧美激情在线| 亚洲欧美日韩在线| 国产在线观看一区二区| 欧美日韩在线三区| 日韩美女视频19| 狠狠色综合播放一区二区| 色噜噜偷拍精品综合在线| 久久久激情视频| 青草av.久久免费一区| 91麻豆免费在线观看| 亚洲国产高清在线| 美女视频黄频大全不卡视频在线播放| 一本久久a久久免费精品不卡| 精品国免费一区二区三区| 婷婷成人激情在线网| 色噜噜狠狠成人中文综合| 久久久久国产成人精品亚洲午夜| 日韩综合小视频| 欧美在线免费播放| 亚洲日本在线a| www.亚洲色图.com| 久久精品免费在线观看| 九一久久久久久| 日韩三级在线免费观看| 亚洲高清一区二区三区| 色综合天天综合在线视频| 国产欧美一区二区在线| 国产精品一色哟哟哟| 日韩精品一区二区三区在线观看 | 欧美激情中文字幕| 精品制服美女丁香| 欧美刺激午夜性久久久久久久 | 激情五月播播久久久精品| 欧美区在线观看| 三级不卡在线观看| 欧美视频第二页| 亚洲超碰97人人做人人爱| 欧美性受xxxx黑人xyx| 亚洲第一狼人社区| 欧美日韩一区不卡| 偷拍日韩校园综合在线| 欧美视频中文字幕| 亚洲电影第三页| 91麻豆精品国产91久久久资源速度 | 精品一区二区三区影院在线午夜| 欧美精品在线一区二区| 视频一区视频二区中文| 欧美久久久久免费| 日产欧产美韩系列久久99| 69堂国产成人免费视频| 丝袜脚交一区二区| 日韩一级片网站| 狠狠色丁香久久婷婷综| 久久蜜桃香蕉精品一区二区三区| 韩国毛片一区二区三区| 国产亚洲综合在线| av激情综合网| 亚洲国产精品久久一线不卡| 欧美日韩精品免费| 日本视频中文字幕一区二区三区| 日韩午夜在线影院| 国产精品中文字幕日韩精品| 国产日韩欧美不卡| 色综合久久综合网| 日韩av一二三| 国产午夜一区二区三区| 97成人超碰视| 日本亚洲天堂网| 久久久亚洲精品石原莉奈| 99精品久久免费看蜜臀剧情介绍| 亚洲一二三区在线观看| 精品久久久久99| 99久久精品国产网站| 亚洲va欧美va国产va天堂影院|