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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? fpgenerator.java

?? 爬蟲
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package st.ata.util;import java.util.Hashtable;/**<p> This class provides methods that construct fingerprints of stringsof bytes via operations in <i>GF[2^d]</i> for <i>0 < d <= 64</i>.<i>GF[2^d]</i> is represented as the set of polynomials of degree<i>d</i> with coefficients in <i>Z(2)</i>, modulo an irreduciblepolynomial <i>P</i> of degree <i>d</i>.  The representation ofpolynomials is as an unsigned binary number in which the leastsignificant exponent is kept in the most significant bit.<p> Let S be a string of bytes and <i>g(S)</i> the string obtained bytaking the byte <code>0x01</code> followed by eight <code>0x00</code>bytes followed by <code>S</code>.  Let <i>f(S)</i> be the polynomialassociated to the string <i>S</i> viewed as a polynomial withcoefficients in the field <i>Z(2)</i>.  The fingerprint of S is simplythe value <i>f(g(S))</i> modulo <i>P</i>.  Because polynomials arerepresented with the least significant coefficient in the mostsignificant bit, fingerprints of degree <i>d</i> are stored in the<code>d</code> <strong>most</code> significant bits of a long word.<p> Fingerprints can be used as a probably unique id for the inputstring.  More precisely, if <i>P</i> is chosen at random amongirreducible polynomials of degree <i>d</i>, then the probability thatany two strings <i>A</i> and <i>B</i> have the same fingerprint isless than <i>max(|A|,|B|)/2^(d+1)</i> where <i>|A|</i> is the lengthof A in bits.<p> The routines named <code>extend[8]</code> and <code>fp[8]</code>return reduced results, while <code>extend_[byte/char/int/long]</code>do not.  An <em>un</em>reduced result is a number that is equal (mod</code>polynomial</code> to the desired fingerprint but may havedegree <code>degree</code> or higher.  The method <code>reduce</code>reduces such a result to a polynomial of degree less than<code>degree</code>.  Obtaining reduced results takes longer thanobtaining unreduced results; thus, when fingerprinting long strings,it's better to obtain irreduced results inside the fingerprinting loopand use <code>reduce</code> to reduce to a fingerprint after the loop.*/// Tested by: TestFPGeneratorpublic final class FPGenerator {    /** Return a fingerprint generator.  The fingerprints generated        will have degree <code>degree</code> and will be generated by        <code>polynomial</code>.  If a generator based on        <code>polynomial</code> has already been created, it will be        returned.  Requires that <code>polynomial</code> is an        irreducible polynomial of degree <code>degree</code> (the        array <code>polynomials</code> contains some irreducible        polynomials). */    public static FPGenerator make(long polynomial, int degree) {        Long l = new Long(polynomial);        FPGenerator fpgen = (FPGenerator) generators.get(l);        if (fpgen == null) {            fpgen = new FPGenerator(polynomial, degree);            generators.put(l, fpgen);        }        return fpgen;    }    private static final Hashtable generators = new Hashtable(10);    private static final long zero = 0;    private static final long one = 0x8000000000000000L;    /** Return a value equal (mod <code>polynomial</code>) to        <code>fp</code> and of degree less than <code>degree</code>. */    public long reduce(long fp) {        int N = (8 - degree/8);        long local = (N == 8 ? 0 : fp & (-1L << 8*N));        long temp = zero;        for (int i = 0; i < N; i++) {            temp ^= ByteModTable[8+i][((int)fp) & 0xff];            fp >>>= 8;        };        return local ^ temp;    }    /** Extends <code>f</code> with lower eight bits of <code>v</code>        with<em>out</em> full reduction.  In other words, returns a        polynomial that is equal (mod <code>polynomial</code>) to the        desired fingerprint but may be of higher degree than the        desired fingerprint. */    public long extend_byte(long f, int v) {        f ^= (0xff & v);        int i = (int)f;        long result = (f>>>8);        result ^= ByteModTable[7][i & 0xff];        return result;    }    /** Extends <code>f</code> with lower sixteen bits of <code>v</code>.        Does not reduce. */    public long extend_char(long f, int v) {        f ^= (0xffff & v);        int i = (int)f;        long result = (f>>>16);        result ^= ByteModTable[6][i & 0xff]; i >>>= 8;        result ^= ByteModTable[7][i & 0xff];        return result;    }    /** Extends <code>f</code> with (all bits of) <code>v</code>.        Does not reduce. */    public long extend_int(long f, int v) {        f ^= (0xffffffffL & v);        int i = (int)f;        long result = (f>>>32);        result ^= ByteModTable[4][i & 0xff]; i >>>= 8;        result ^= ByteModTable[5][i & 0xff]; i >>>= 8;        result ^= ByteModTable[6][i & 0xff]; i >>>= 8;        result ^= ByteModTable[7][i & 0xff];        return result;    }    /** Extends <code>f</code> with <code>v</code>.        Does not reduce. */    public long extend_long(long f, long v) {        f ^= v;        long result = ByteModTable[0][(int)(f & 0xff)]; f >>>= 8;        result ^= ByteModTable[1][(int)(f & 0xff)]; f >>>= 8;        result ^= ByteModTable[2][(int)(f & 0xff)]; f >>>= 8;        result ^= ByteModTable[3][(int)(f & 0xff)]; f >>>= 8;        result ^= ByteModTable[4][(int)(f & 0xff)]; f >>>= 8;        result ^= ByteModTable[5][(int)(f & 0xff)]; f >>>= 8;        result ^= ByteModTable[6][(int)(f & 0xff)]; f >>>= 8;        result ^= ByteModTable[7][(int)(f & 0xff)];        return result;    }    /** Compute fingerprint of "n" bytes of "buf" starting from        "buf[start]".  Requires "[start, start+n)" is in bounds. */    public long fp(byte[] buf, int start, int n) {        return extend(empty, buf, start, n);    }    /** Compute fingerprint of (all bits of) "n" characters of "buf"        starting from "buf[i]".  Requires "[i, i+n)" is in bounds. */    public long fp(char[] buf, int start, int n) {        return extend(empty, buf, start, n);    }// COMMENTED OUT TO REMOVE Dependency on st.ata.util.Text//    /** Compute fingerprint of (all bits of) <code>t</code> *///    public long fp(Text t) {//        return extend(empty, t);//    }    /** Compute fingerprint of (all bits of) the characters of "s". */    public long fp(CharSequence s) {        return extend(empty, s);    }    /** Compute fingerprint of (all bits of) "n" characters of "buf"        starting from "buf[i]".  Requires "[i, i+n)" is in bounds. */    public long fp(int[] buf, int start, int n) {        return extend(empty, buf, start, n);    }    /** Compute fingerprint of (all bits of) "n" characters of "buf"        starting from "buf[i]".  Requires "[i, i+n)" is in bounds. */    public long fp(long[] buf, int start, int n) {        return extend(empty, buf, start, n);    }    /** Compute fingerprint of the lower eight bits of the characters        of "s". */    public long fp8(String s) {        return extend8(empty, s);    }    /** Compute fingerprint of the lower eight bits of "n" characters        of "buf" starting from "buf[i]".  Requires "[i, i+n)" is in        bounds. */    public long fp8(char[] buf, int start, int n) {        return extend8(empty, buf, start, n);    }    /** Extends fingerprint <code>f</code> by adding the low eight        bits of "b". */    public long extend(long f, byte v) {        return reduce(extend_byte(f, v));    }    /** Extends fingerprint <code>f</code> by adding (all bits of)        "v". */    public long extend(long f, char v) {        return reduce(extend_char(f, v));    }    /** Extends fingerprint <code>f</code> by adding (all bits of)        "v". */    public long extend(long f, int v) {        return reduce(extend_int(f, v));    }    /** Extends fingerprint <code>f</code> by adding (all bits of)        "v". */    public long extend(long f, long v) {        return reduce(extend_long(f, v));    }    /** Extends fingerprint <code>f</code> by adding "n" bytes of        "buf" starting from "buf[start]".        Result is reduced.        Requires "[i,&nbsp;i+n)" is in bounds. */    public long extend(long f, byte[] buf, int start, int n) {        for (int i = 0; i < n; i++) {            f = extend_byte(f, buf[start+i]);        }        return reduce(f);    }    /** Extends fingerprint <code>f</code> by adding (all bits of) "n"        characters of "buf" starting from "buf[i]".        Result is reduced.        Requires "[i,&nbsp;i+n)" is in bounds. */    public long extend(long f, char[] buf, int start, int n) {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本免费新一区视频| 久久久久成人黄色影片| 亚洲第一福利视频在线| 色偷偷久久人人79超碰人人澡| 国产精品国产三级国产普通话蜜臀 | 国产一区美女在线| 国产偷国产偷精品高清尤物| 国产成人av一区二区三区在线观看| 久久久精品tv| 色香蕉久久蜜桃| 亚洲福利视频一区| 久久综合色综合88| 99在线精品观看| 午夜久久久影院| 2020国产成人综合网| 国产69精品一区二区亚洲孕妇| 中文字幕一区二区三区精华液 | 99re在线精品| 舔着乳尖日韩一区| 国产性做久久久久久| 91视视频在线观看入口直接观看www | 日韩二区在线观看| www久久精品| 色综合咪咪久久| 久久精品99国产精品日本| 国产日韩欧美一区二区三区综合| 日本久久电影网| 精品系列免费在线观看| 亚洲三级在线免费| 欧美一区二区三区免费观看视频| 国产大陆亚洲精品国产| 亚洲一二三区不卡| 国产精品欧美一区喷水| 欧美丰满高潮xxxx喷水动漫| 成人性生交大片免费看中文| 成人午夜碰碰视频| 亚洲v精品v日韩v欧美v专区 | 国产欧美日韩在线视频| 欧美色图第一页| 成人午夜激情在线| 秋霞午夜鲁丝一区二区老狼| 亚洲欧洲色图综合| 精品久久久久一区二区国产| 在线观看91精品国产入口| 国产一区二区精品久久| 午夜国产精品影院在线观看| 中文字幕av不卡| 日韩精品中文字幕在线一区| 在线视频你懂得一区二区三区| 国产一区二区视频在线播放| 五月天丁香久久| 国产精品三级电影| 精品免费日韩av| 欧美日本一区二区三区四区| 色综合中文字幕| 成人午夜视频免费看| 精品一区二区在线观看| 日韩精品一区第一页| 夜夜嗨av一区二区三区网页| 国产精品免费看片| 久久影院电视剧免费观看| 51精品国自产在线| 欧美三级韩国三级日本三斤| 91麻豆成人久久精品二区三区| 国产精品一区不卡| 韩国成人精品a∨在线观看| 日本不卡在线视频| 日韩激情av在线| 日日欢夜夜爽一区| 婷婷久久综合九色国产成人| 亚洲最新在线观看| 有码一区二区三区| 亚洲最新视频在线观看| 亚洲猫色日本管| 亚洲黄网站在线观看| 亚洲欧美色一区| 亚洲精品视频一区二区| 亚洲人成影院在线观看| 亚洲欧美一区二区三区孕妇| 亚洲日本青草视频在线怡红院| 中文字幕一区二区三| 日韩一区欧美小说| 亚洲男人电影天堂| 一区二区三区在线视频观看58| 亚洲精品自拍动漫在线| 亚洲免费大片在线观看| 一区二区三区中文字幕| 亚洲一区二区偷拍精品| 亚洲成av人片| 美女国产一区二区三区| 国模无码大尺度一区二区三区| 国产精品一区二区三区网站| 国产99精品国产| 93久久精品日日躁夜夜躁欧美| 在线视频观看一区| 制服.丝袜.亚洲.另类.中文 | 激情六月婷婷久久| 成人一区二区三区在线观看 | 欧美精品乱人伦久久久久久| 欧美一区二区三区不卡| 久久久国产一区二区三区四区小说| 久久久久国产免费免费| 亚洲丝袜精品丝袜在线| 午夜影院久久久| 国产精品亚洲一区二区三区在线| 国产馆精品极品| 色综合色综合色综合色综合色综合| 欧美性猛片xxxx免费看久爱| 日韩免费福利电影在线观看| 日本一区二区三级电影在线观看| 亚洲三级理论片| 免费观看日韩电影| 成人国产精品免费观看动漫| 欧美视频日韩视频在线观看| 欧美一区二区三区四区视频| 国产亚洲一本大道中文在线| 伊人夜夜躁av伊人久久| 久久99久久久久久久久久久| 成人av免费在线播放| 欧美乱熟臀69xxxxxx| 国产欧美视频在线观看| 亚洲高清不卡在线观看| 国产精品69毛片高清亚洲| 欧美怡红院视频| 久久亚洲精精品中文字幕早川悠里| 亚洲免费av网站| 韩国女主播成人在线| 色94色欧美sute亚洲线路二| 精品国产免费人成电影在线观看四季 | 美日韩一级片在线观看| 成人av电影免费观看| 欧美一级电影网站| 亚洲精品成人悠悠色影视| 狠狠色综合色综合网络| 欧美日韩情趣电影| 国产精品久久一卡二卡| 极品少妇一区二区三区精品视频| 色综合久久精品| 久久久精品一品道一区| 日韩精品电影一区亚洲| 91猫先生在线| 欧美激情一区二区| 久久精品国产成人一区二区三区| 欧美亚洲禁片免费| 亚洲日本在线观看| 成人综合在线网站| 精品国产精品网麻豆系列| 天天综合色天天综合| 在线欧美一区二区| 中文字幕制服丝袜成人av| 国产精品正在播放| 日韩欧美一区二区在线视频| 亚洲影视在线播放| 99re在线精品| 国产精品蜜臀在线观看| 国产精品资源在线观看| 精品久久久久久无| 美女视频黄免费的久久 | 91精品免费在线| 亚洲第一电影网| 欧美日韩一区高清| 亚洲电影一级片| 欧美色精品在线视频| 亚洲自拍与偷拍| 在线观看免费视频综合| 亚洲日本护士毛茸茸| 91香蕉国产在线观看软件| 中文字幕在线免费不卡| eeuss鲁一区二区三区| 中文久久乱码一区二区| 成人激情小说网站| 中文字幕日韩一区| 一本色道久久综合亚洲91| 亚洲伦在线观看| 91黄色小视频| 亚洲成av人片一区二区三区| 欧美理论在线播放| 奇米精品一区二区三区在线观看| 欧美tk丨vk视频| 国产电影精品久久禁18| 中文在线资源观看网站视频免费不卡 | 精品国产91亚洲一区二区三区婷婷 | 91视频.com| 亚洲一区二区免费视频| 欧美日韩国产大片| 日本不卡一二三区黄网| 26uuu欧美| 不卡大黄网站免费看| 一区二区三区在线看| 欧美精三区欧美精三区| 久久99国产精品尤物| 国产日韩精品一区二区三区| 成人精品视频一区| 一区二区理论电影在线观看| 91麻豆精品久久久久蜜臀| 国产在线乱码一区二区三区| 国产精品护士白丝一区av| 欧美日韩一区久久| 国产精品一区二区在线播放| 国产精品久久久久9999吃药|