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

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

?? diff.java

?? struts spring ibatis
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
// Decompiled by DJ v3.5.5.77 Copyright 2003 Atanas Neshkov  Date: 2003-6-23 11:13:43
// Home Page : http://members.fortunecity.com/neshkov/dj.html  - Check often for new version!
// Decompiler options: packimports(3) 
// Source File Name:   Diff.java

package com.struts2.framework.util;

import java.util.Hashtable;

public class Diff
{
    public static class change
    {

        public change link;
        public final int inserted;
        public final int deleted;
        public final int line0;
        public final int line1;

        change(int line0, int line1, int deleted, int inserted, change old)
        {
            this.line0 = line0;
            this.line1 = line1;
            this.inserted = inserted;
            this.deleted = deleted;
            link = old;
        }
    }

    class file_data
    {

        void clear()
        {
            changed_flag = new boolean[buffered_lines + 2];
        }

        int[] equivCount()
        {
            int equiv_count[] = new int[equiv_max];
            for(int i = 0; i < buffered_lines; i++)
                equiv_count[equivs[i]]++;

            return equiv_count;
        }

        void discard_confusing_lines(file_data f)
        {
            clear();
            byte discarded[] = discardable(f.equivCount());
            filterDiscards(discarded);
            discard(discarded);
        }

        private byte[] discardable(int counts[])
        {
            int end = buffered_lines;
            byte discards[] = new byte[end];
            int equivs[] = this.equivs;
            int many = 5;
            for(int tem = end / 64; (tem >>= 2) > 0;)
                many *= 2;

            for(int i = 0; i < end; i++)
                if(equivs[i] != 0)
                {
                    int nmatch = counts[equivs[i]];
                    if(nmatch == 0)
                        discards[i] = 1;
                    else
                    if(nmatch > many)
                        discards[i] = 2;
                }

            return discards;
        }

        private void filterDiscards(byte discards[])
        {
            int end = buffered_lines;
            for(int i = 0; i < end; i++)
                if(discards[i] == 2)
                    discards[i] = 0;
                else
                if(discards[i] != 0)
                {
                    int provisional = 0;
                    int j;
                    for(j = i; j < end; j++)
                    {
                        if(discards[j] == 0)
                            break;
                        if(discards[j] == 2)
                            provisional++;
                    }

                    while(j > i && discards[j - 1] == 2) 
                    {
                        discards[--j] = 0;
                        provisional--;
                    }
                    int length = j - i;
                    if(provisional * 4 > length)
                    {
                        while(j > i) 
                            if(discards[--j] == 2)
                                discards[j] = 0;
                    } else
                    {
                        int minimum = 1;
                        for(int tem = length / 4; (tem >>= 2) > 0;)
                            minimum *= 2;

                        minimum++;
                        j = 0;
                        int consec = 0;
                        for(; j < length; j++)
                            if(discards[i + j] != 2)
                                consec = 0;
                            else
                            if(minimum == ++consec)
                                j -= consec;
                            else
                            if(minimum < consec)
                                discards[i + j] = 0;

                        j = 0;
                        consec = 0;
                        for(; j < length; j++)
                        {
                            if(j >= 8 && discards[i + j] == 1)
                                break;
                            if(discards[i + j] == 2)
                            {
                                consec = 0;
                                discards[i + j] = 0;
                            } else
                            if(discards[i + j] == 0)
                                consec = 0;
                            else
                                consec++;
                            if(consec == 3)
                                break;
                        }

                        i += length - 1;
                        j = 0;
                        consec = 0;
                        for(; j < length; j++)
                        {
                            if(j >= 8 && discards[i - j] == 1)
                                break;
                            if(discards[i - j] == 2)
                            {
                                consec = 0;
                                discards[i - j] = 0;
                            } else
                            if(discards[i - j] == 0)
                                consec = 0;
                            else
                                consec++;
                            if(consec == 3)
                                break;
                        }

                    }
                }

        }

        private void discard(byte discards[])
        {
            int end = buffered_lines;
            int j = 0;
            for(int i = 0; i < end; i++)
                if(no_discards || discards[i] == 0)
                {
                    undiscarded[j] = equivs[i];
                    realindexes[j++] = i;
                } else
                {
                    changed_flag[1 + i] = true;
                }

            nondiscarded_lines = j;
        }

        void shift_boundaries(file_data f)
        {
            boolean changed[] = changed_flag;
            boolean other_changed[] = f.changed_flag;
            int i = 0;
            int j = 0;
            int i_end = buffered_lines;
            int preceding = -1;
            int other_preceding = -1;
            do
            {
                while(i < i_end && !changed[1 + i]) 
                {
                    while(other_changed[1 + j++]) 
                        other_preceding = j;
                    i++;
                }
                if(i != i_end)
                {
                    int start = i;
                    int other_start = j;
                    do
                    {
                        while(i < i_end && changed[1 + i]) 
                            i++;
                        int end = i;
                        if(end == i_end || equivs[start] != equivs[end] || other_changed[1 + j] || end == i_end || preceding >= 0 && start == preceding || other_preceding >= 0 && other_start == other_preceding)
                            break;
                        changed[1 + end++] = true;
                        changed[1 + start++] = false;
                        i++;
                        j++;
                    } while(true);
                    preceding = i;
                    other_preceding = j;
                } else
                {
                    return;
                }
            } while(true);
        }

        final int buffered_lines;
        private final int equivs[];
        final int undiscarded[];
        final int realindexes[];
        int nondiscarded_lines;
        boolean changed_flag[];

        file_data(Object data[], Hashtable h)
        {
            buffered_lines = data.length;
            equivs = new int[buffered_lines];
            undiscarded = new int[buffered_lines];
            realindexes = new int[buffered_lines];
            for(int i = 0; i < data.length; i++)
            {
                Integer ir = (Integer)h.get(data[i]);
                if(ir == null)
                    h.put(data[i], new Integer(equivs[i] = equiv_max++));
                else
                    equivs[i] = ir.intValue();
            }

        }
    }


    private int diag(int xoff, int xlim, int yoff, int ylim)
    {
        int fd[] = fdiag;
        int bd[] = bdiag;
        int xv[] = xvec;
        int yv[] = yvec;
        int dmin = xoff - ylim;
        int dmax = xlim - yoff;
        int fmid = xoff - yoff;
        int bmid = xlim - ylim;
        int fmin = fmid;
        int fmax = fmid;
        int bmin = bmid;
        int bmax = bmid;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区三区在线播放视频| 亚洲综合自拍偷拍| 91精品国产综合久久精品麻豆 | 国产激情一区二区三区| 日韩影院精彩在线| 日本少妇一区二区| 日本欧美在线看| 日韩中文字幕1| 日本特黄久久久高潮| 强制捆绑调教一区二区| 日韩福利电影在线| 毛片av一区二区| 久久国产日韩欧美精品| 国内精品免费在线观看| 国产一区二区中文字幕| 国产精品一区免费视频| 国产成人av影院| 成人aa视频在线观看| 91麻豆高清视频| 欧美亚洲丝袜传媒另类| 日韩午夜精品视频| 国产清纯在线一区二区www| 国产午夜精品一区二区三区视频 | 国产乱子轮精品视频| 国产伦精一区二区三区| 97精品超碰一区二区三区| 色综合一个色综合| 91精品国产综合久久蜜臀| 久久日韩粉嫩一区二区三区 | 国产成人啪午夜精品网站男同| 国产成人精品三级| 欧美少妇bbb| 日韩一区二区三区四区五区六区| 亚洲精品一区二区三区蜜桃下载| 国产精品免费视频网站| 亚洲美女淫视频| 免费成人美女在线观看.| 国产91富婆露脸刺激对白| 91久久精品国产91性色tv| 欧美岛国在线观看| 亚洲日本电影在线| 国内精品写真在线观看| 在线观看免费一区| 国产婷婷色一区二区三区| 亚洲国产视频一区| 国产99久久久国产精品潘金| 欧美日韩高清在线| 国产精品成人一区二区三区夜夜夜| 亚洲国产欧美日韩另类综合| 国产伦精品一区二区三区免费迷 | xvideos.蜜桃一区二区| 亚洲激情校园春色| 国产999精品久久久久久| 7777精品伊人久久久大香线蕉完整版 | 中文字幕一区二区视频| 日韩电影在线一区二区| 色狠狠桃花综合| 国产精品视频在线看| 老司机午夜精品| 欧美日本一区二区| 亚洲理论在线观看| 国产91露脸合集magnet| 欧美成人精品1314www| 亚洲五码中文字幕| 日本高清无吗v一区| 国产精品免费人成网站| 国产精品亚洲视频| 久久久美女艺术照精彩视频福利播放| 夜夜精品浪潮av一区二区三区| 成人国产精品免费| 中文在线资源观看网站视频免费不卡| 琪琪一区二区三区| 日韩美女视频在线| 美腿丝袜亚洲色图| 在线综合+亚洲+欧美中文字幕| 一区二区久久久久| 91久久久免费一区二区| 亚洲男女毛片无遮挡| 91老师片黄在线观看| 亚洲天堂中文字幕| 91高清视频免费看| 亚洲www啪成人一区二区麻豆| 欧洲亚洲国产日韩| 亚洲国产日韩一级| 3d动漫精品啪啪1区2区免费| 日本美女一区二区三区| 欧美一级生活片| 精品一二三四区| 精品久久人人做人人爽| 国产乱码精品1区2区3区| 欧美国产视频在线| 99久久综合国产精品| 亚洲精品成人精品456| 欧美人与z0zoxxxx视频| 男人的天堂久久精品| 国产亚洲视频系列| 91麻豆精品视频| 亚洲成人自拍一区| 精品久久国产字幕高潮| 高清不卡在线观看| 一区二区高清视频在线观看| 欧美日韩成人激情| 国产中文字幕精品| 亚洲色图欧洲色图| 日韩欧美的一区二区| 成人国产精品免费网站| 天天做天天摸天天爽国产一区| 日韩欧美亚洲国产另类| 成人ar影院免费观看视频| 亚洲成av人片一区二区三区| 精品国产一区a| 一本高清dvd不卡在线观看| 免费观看在线综合| 国产精品久久久久久久久果冻传媒| 91高清视频免费看| 国产成人鲁色资源国产91色综| 亚洲裸体在线观看| 精品动漫一区二区三区在线观看| 成人午夜又粗又硬又大| 天天综合天天做天天综合| 欧美激情一区二区| 91精品在线一区二区| 成人av手机在线观看| 日韩**一区毛片| 亚洲视频免费看| 久久美女高清视频| 91精选在线观看| 91蜜桃网址入口| 国产真实乱对白精彩久久| 亚洲午夜激情av| 亚洲色图欧洲色图| 国产日韩一级二级三级| 日韩欧美在线网站| 欧美日韩免费视频| 91视视频在线观看入口直接观看www | 欧美一卡在线观看| 色婷婷av一区二区三区大白胸 | 日本一区免费视频| 精品粉嫩aⅴ一区二区三区四区| 欧美日韩黄视频| 91美女福利视频| 粉嫩蜜臀av国产精品网站| 美女网站一区二区| 丝袜a∨在线一区二区三区不卡| 亚洲色图在线播放| **性色生活片久久毛片| 国产日韩精品视频一区| 久久久久国产精品麻豆ai换脸| 8x福利精品第一导航| 欧美喷潮久久久xxxxx| 欧美在线视频日韩| 91极品美女在线| 99re成人精品视频| 99精品欧美一区二区三区小说 | 成人黄色片在线观看| 国产成人三级在线观看| 国产一区二区女| 国产精品一区二区在线看| 久久99国产精品久久99果冻传媒| 日韩精品免费专区| 日本欧美韩国一区三区| 男人的天堂亚洲一区| 久久成人精品无人区| 国产一区二区日韩精品| 国产成人精品免费一区二区| 韩国精品在线观看| 国产伦精品一区二区三区免费迷| 国产精品一区在线| 国产**成人网毛片九色| av福利精品导航| 色国产综合视频| 欧美一二三区在线观看| 精品精品欲导航| 国产日产欧美一区二区视频| 国产精品毛片无遮挡高清| 亚洲激情图片小说视频| 蜜臀av一区二区| 国产精品伊人色| 成人av电影在线网| 欧美亚洲一区三区| 欧美国产国产综合| 一区二区免费在线播放| 日本v片在线高清不卡在线观看| 久久99国产精品尤物| 成人av在线播放网址| 69久久99精品久久久久婷婷| 久久一二三国产| 亚洲精品久久久蜜桃| 蜜桃一区二区三区在线观看| 国产夫妻精品视频| 欧美在线视频不卡| 国产清纯美女被跳蛋高潮一区二区久久w| 国产欧美一区二区精品忘忧草 | 久草这里只有精品视频| 成人免费视频免费观看| 欧美性极品少妇| 久久这里只有精品视频网| 亚洲美女精品一区| 男女男精品网站| 色婷婷av一区二区三区gif|