1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
---|
2 | <!--NewPage--> |
---|
3 | <HTML> |
---|
4 | <HEAD> |
---|
5 | <!-- Generated by javadoc (build 1.6.0_24) on Mon Jun 25 15:26:26 EDT 2012 --> |
---|
6 | <META http-equiv="Content-Type" content="text/html; charset=utf-8"> |
---|
7 | <TITLE> |
---|
8 | Hash (Solr 4.0.0-ALPHA API) |
---|
9 | </TITLE> |
---|
10 | |
---|
11 | <META NAME="date" CONTENT="2012-06-25"> |
---|
12 | |
---|
13 | <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> |
---|
14 | |
---|
15 | <SCRIPT type="text/javascript"> |
---|
16 | function windowTitle() |
---|
17 | { |
---|
18 | if (location.href.indexOf('is-external=true') == -1) { |
---|
19 | parent.document.title="Hash (Solr 4.0.0-ALPHA API)"; |
---|
20 | } |
---|
21 | } |
---|
22 | </SCRIPT> |
---|
23 | <NOSCRIPT> |
---|
24 | </NOSCRIPT> |
---|
25 | |
---|
26 | </HEAD> |
---|
27 | |
---|
28 | <BODY BGCOLOR="white" onload="windowTitle();"> |
---|
29 | <HR> |
---|
30 | |
---|
31 | |
---|
32 | <!-- ========= START OF TOP NAVBAR ======= --> |
---|
33 | <A NAME="navbar_top"><!-- --></A> |
---|
34 | <A HREF="#skip-navbar_top" title="Skip navigation links"></A> |
---|
35 | <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> |
---|
36 | <TR> |
---|
37 | <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> |
---|
38 | <A NAME="navbar_top_firstrow"><!-- --></A> |
---|
39 | <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> |
---|
40 | <TR ALIGN="center" VALIGN="top"> |
---|
41 | <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> |
---|
42 | <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> |
---|
43 | <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> |
---|
44 | <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Hash.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> |
---|
45 | <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> |
---|
46 | <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> |
---|
47 | <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> |
---|
48 | </TR> |
---|
49 | </TABLE> |
---|
50 | </TD> |
---|
51 | <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> |
---|
52 | </EM> |
---|
53 | </TD> |
---|
54 | </TR> |
---|
55 | |
---|
56 | <TR> |
---|
57 | <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> |
---|
58 | <A HREF="../../../../../org/apache/solr/common/util/FastOutputStream.html" title="class in org.apache.solr.common.util"><B>PREV CLASS</B></A> |
---|
59 | <A HREF="../../../../../org/apache/solr/common/util/IteratorChain.html" title="class in org.apache.solr.common.util"><B>NEXT CLASS</B></A></FONT></TD> |
---|
60 | <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> |
---|
61 | <A HREF="../../../../../index.html?org/apache/solr/common/util/Hash.html" target="_top"><B>FRAMES</B></A> |
---|
62 | <A HREF="Hash.html" target="_top"><B>NO FRAMES</B></A> |
---|
63 | <SCRIPT type="text/javascript"> |
---|
64 | <!-- |
---|
65 | if(window==top) { |
---|
66 | document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); |
---|
67 | } |
---|
68 | //--> |
---|
69 | </SCRIPT> |
---|
70 | <NOSCRIPT> |
---|
71 | <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> |
---|
72 | </NOSCRIPT> |
---|
73 | |
---|
74 | |
---|
75 | </FONT></TD> |
---|
76 | </TR> |
---|
77 | <TR> |
---|
78 | <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> |
---|
79 | SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> |
---|
80 | <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> |
---|
81 | DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> |
---|
82 | </TR> |
---|
83 | </TABLE> |
---|
84 | <A NAME="skip-navbar_top"></A> |
---|
85 | <!-- ========= END OF TOP NAVBAR ========= --> |
---|
86 | |
---|
87 | <HR> |
---|
88 | <!-- ======== START OF CLASS DATA ======== --> |
---|
89 | <H2> |
---|
90 | <FONT SIZE="-1"> |
---|
91 | org.apache.solr.common.util</FONT> |
---|
92 | <BR> |
---|
93 | Class Hash</H2> |
---|
94 | <PRE> |
---|
95 | <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> |
---|
96 | <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.solr.common.util.Hash</B> |
---|
97 | </PRE> |
---|
98 | <HR> |
---|
99 | <DL> |
---|
100 | <DT><PRE>public class <B>Hash</B><DT>extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> |
---|
101 | </PRE> |
---|
102 | |
---|
103 | <P> |
---|
104 | <p>Fast, well distributed, cross-platform hash functions. |
---|
105 | </p> |
---|
106 | |
---|
107 | <p>Development background: I was surprised to discovered that there isn't a good cross-platform hash function defined for strings. MD5, SHA, FVN, etc, all define hash functions over bytes, meaning that it's under-specified for strings. |
---|
108 | </p> |
---|
109 | |
---|
110 | <p>So I set out to create a standard 32 bit string hash that would be well defined for implementation in all languages, have very high performance, and have very good hash properties such as distribution. After evaluating all the options, I settled on using Bob Jenkins' lookup3 as a base. It's a well studied and very fast hash function, and the hashword variant can work with 32 bits at a time (perfect for hashing unicode code points). It's also even faster on the latest JVMs which can translate pairs of shifts into native rotate instructions. |
---|
111 | </p> |
---|
112 | <p>The only problem with using lookup3 hashword is that it includes a length in the initial value. This would suck some performance out since directly hashing a UTF8 or UTF16 string (Java) would require a pre-scan to get the actual number of unicode code points. The solution was to simply remove the length factor, which is equivalent to biasing initVal by -(numCodePoints*4). This slightly modified lookup3 I define as lookup3ycs. |
---|
113 | </p> |
---|
114 | <p>So the definition of the cross-platform string hash lookup3ycs is as follows: |
---|
115 | </p> |
---|
116 | <p>The hash value of a character sequence (a string) is defined to be the hash of its unicode code points, according to lookup3 hashword, with the initval biased by -(length*4). |
---|
117 | </p> |
---|
118 | <p>So by definition |
---|
119 | </p> |
---|
120 | <pre> |
---|
121 | lookup3ycs(k,offset,length,initval) == lookup3(k,offset,length,initval-(length*4)) |
---|
122 | |
---|
123 | AND |
---|
124 | |
---|
125 | lookup3ycs(k,offset,length,initval+(length*4)) == lookup3(k,offset,length,initval) |
---|
126 | </pre> |
---|
127 | <p>An obvious advantage of this relationship is that you can use lookup3 if you don't have an implementation of lookup3ycs. |
---|
128 | </p> |
---|
129 | <P> |
---|
130 | |
---|
131 | <P> |
---|
132 | <HR> |
---|
133 | |
---|
134 | <P> |
---|
135 | |
---|
136 | <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
---|
137 | |
---|
138 | <A NAME="constructor_summary"><!-- --></A> |
---|
139 | <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> |
---|
140 | <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> |
---|
141 | <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> |
---|
142 | <B>Constructor Summary</B></FONT></TH> |
---|
143 | </TR> |
---|
144 | <TR BGCOLOR="white" CLASS="TableRowColor"> |
---|
145 | <TD><CODE><B><A HREF="../../../../../org/apache/solr/common/util/Hash.html#Hash()">Hash</A></B>()</CODE> |
---|
146 | |
---|
147 | <BR> |
---|
148 | </TD> |
---|
149 | </TR> |
---|
150 | </TABLE> |
---|
151 | |
---|
152 | <!-- ========== METHOD SUMMARY =========== --> |
---|
153 | |
---|
154 | <A NAME="method_summary"><!-- --></A> |
---|
155 | <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> |
---|
156 | <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> |
---|
157 | <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> |
---|
158 | <B>Method Summary</B></FONT></TH> |
---|
159 | </TR> |
---|
160 | <TR BGCOLOR="white" CLASS="TableRowColor"> |
---|
161 | <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
---|
162 | <CODE>static int</CODE></FONT></TD> |
---|
163 | <TD><CODE><B><A HREF="../../../../../org/apache/solr/common/util/Hash.html#lookup3(int[], int, int, int)">lookup3</A></B>(int[] k, |
---|
164 | int offset, |
---|
165 | int length, |
---|
166 | int initval)</CODE> |
---|
167 | |
---|
168 | <BR> |
---|
169 | A Java implementation of hashword from lookup3.c by Bob Jenkins |
---|
170 | (<a href="http://burtleburtle.net/bob/c/lookup3.c">original source</a>).</TD> |
---|
171 | </TR> |
---|
172 | <TR BGCOLOR="white" CLASS="TableRowColor"> |
---|
173 | <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
---|
174 | <CODE>static int</CODE></FONT></TD> |
---|
175 | <TD><CODE><B><A HREF="../../../../../org/apache/solr/common/util/Hash.html#lookup3ycs(java.lang.CharSequence, int, int, int)">lookup3ycs</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang">CharSequence</A> s, |
---|
176 | int start, |
---|
177 | int end, |
---|
178 | int initval)</CODE> |
---|
179 | |
---|
180 | <BR> |
---|
181 | The hash value of a character sequence is defined to be the hash of |
---|
182 | it's unicode code points, according to <A HREF="../../../../../org/apache/solr/common/util/Hash.html#lookup3ycs(int[], int, int, int)"><CODE>lookup3ycs(int[] k, int offset, int length, int initval)</CODE></A></TD> |
---|
183 | </TR> |
---|
184 | <TR BGCOLOR="white" CLASS="TableRowColor"> |
---|
185 | <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
---|
186 | <CODE>static int</CODE></FONT></TD> |
---|
187 | <TD><CODE><B><A HREF="../../../../../org/apache/solr/common/util/Hash.html#lookup3ycs(int[], int, int, int)">lookup3ycs</A></B>(int[] k, |
---|
188 | int offset, |
---|
189 | int length, |
---|
190 | int initval)</CODE> |
---|
191 | |
---|
192 | <BR> |
---|
193 | Identical to lookup3, except initval is biased by -(length<<2).</TD> |
---|
194 | </TR> |
---|
195 | <TR BGCOLOR="white" CLASS="TableRowColor"> |
---|
196 | <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
---|
197 | <CODE>static long</CODE></FONT></TD> |
---|
198 | <TD><CODE><B><A HREF="../../../../../org/apache/solr/common/util/Hash.html#lookup3ycs64(java.lang.CharSequence, int, int, long)">lookup3ycs64</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang">CharSequence</A> s, |
---|
199 | int start, |
---|
200 | int end, |
---|
201 | long initval)</CODE> |
---|
202 | |
---|
203 | <BR> |
---|
204 | This is the 64 bit version of lookup3ycs, corresponding to Bob Jenkin's |
---|
205 | lookup3 hashlittle2 with initval biased by -(numCodePoints<<2).</TD> |
---|
206 | </TR> |
---|
207 | <TR BGCOLOR="white" CLASS="TableRowColor"> |
---|
208 | <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
---|
209 | <CODE>static int</CODE></FONT></TD> |
---|
210 | <TD><CODE><B><A HREF="../../../../../org/apache/solr/common/util/Hash.html#murmurhash3_x86_32(byte[], int, int, int)">murmurhash3_x86_32</A></B>(byte[] data, |
---|
211 | int offset, |
---|
212 | int len, |
---|
213 | int seed)</CODE> |
---|
214 | |
---|
215 | <BR> |
---|
216 | Returns the MurmurHash3_x86_32 hash.</TD> |
---|
217 | </TR> |
---|
218 | </TABLE> |
---|
219 | <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> |
---|
220 | <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> |
---|
221 | <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> |
---|
222 | <TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> |
---|
223 | </TR> |
---|
224 | <TR BGCOLOR="white" CLASS="TableRowColor"> |
---|
225 | <TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> |
---|
226 | </TR> |
---|
227 | </TABLE> |
---|
228 | |
---|
229 | <P> |
---|
230 | |
---|
231 | <!-- ========= CONSTRUCTOR DETAIL ======== --> |
---|
232 | |
---|
233 | <A NAME="constructor_detail"><!-- --></A> |
---|
234 | <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> |
---|
235 | <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> |
---|
236 | <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> |
---|
237 | <B>Constructor Detail</B></FONT></TH> |
---|
238 | </TR> |
---|
239 | </TABLE> |
---|
240 | |
---|
241 | <A NAME="Hash()"><!-- --></A><H3> |
---|
242 | Hash</H3> |
---|
243 | <PRE> |
---|
244 | public <B>Hash</B>()</PRE> |
---|
245 | <DL> |
---|
246 | </DL> |
---|
247 | |
---|
248 | <!-- ============ METHOD DETAIL ========== --> |
---|
249 | |
---|
250 | <A NAME="method_detail"><!-- --></A> |
---|
251 | <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> |
---|
252 | <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> |
---|
253 | <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> |
---|
254 | <B>Method Detail</B></FONT></TH> |
---|
255 | </TR> |
---|
256 | </TABLE> |
---|
257 | |
---|
258 | <A NAME="lookup3(int[], int, int, int)"><!-- --></A><H3> |
---|
259 | lookup3</H3> |
---|
260 | <PRE> |
---|
261 | public static int <B>lookup3</B>(int[] k, |
---|
262 | int offset, |
---|
263 | int length, |
---|
264 | int initval)</PRE> |
---|
265 | <DL> |
---|
266 | <DD>A Java implementation of hashword from lookup3.c by Bob Jenkins |
---|
267 | (<a href="http://burtleburtle.net/bob/c/lookup3.c">original source</a>). |
---|
268 | <P> |
---|
269 | <DD><DL> |
---|
270 | <DT><B>Parameters:</B><DD><CODE>k</CODE> - the key to hash<DD><CODE>offset</CODE> - offset of the start of the key<DD><CODE>length</CODE> - length of the key<DD><CODE>initval</CODE> - initial value to fold into the hash |
---|
271 | <DT><B>Returns:</B><DD>the 32 bit hash code</DL> |
---|
272 | </DD> |
---|
273 | </DL> |
---|
274 | <HR> |
---|
275 | |
---|
276 | <A NAME="lookup3ycs(int[], int, int, int)"><!-- --></A><H3> |
---|
277 | lookup3ycs</H3> |
---|
278 | <PRE> |
---|
279 | public static int <B>lookup3ycs</B>(int[] k, |
---|
280 | int offset, |
---|
281 | int length, |
---|
282 | int initval)</PRE> |
---|
283 | <DL> |
---|
284 | <DD>Identical to lookup3, except initval is biased by -(length<<2). |
---|
285 | This is equivalent to leaving out the length factor in the initial state. |
---|
286 | <code>lookup3ycs(k,offset,length,initval) == lookup3(k,offset,length,initval-(length<<2))</code> |
---|
287 | and |
---|
288 | <code>lookup3ycs(k,offset,length,initval+(length<<2)) == lookup3(k,offset,length,initval)</code> |
---|
289 | <P> |
---|
290 | <DD><DL> |
---|
291 | </DL> |
---|
292 | </DD> |
---|
293 | </DL> |
---|
294 | <HR> |
---|
295 | |
---|
296 | <A NAME="lookup3ycs(java.lang.CharSequence, int, int, int)"><!-- --></A><H3> |
---|
297 | lookup3ycs</H3> |
---|
298 | <PRE> |
---|
299 | public static int <B>lookup3ycs</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang">CharSequence</A> s, |
---|
300 | int start, |
---|
301 | int end, |
---|
302 | int initval)</PRE> |
---|
303 | <DL> |
---|
304 | <DD><p>The hash value of a character sequence is defined to be the hash of |
---|
305 | it's unicode code points, according to <A HREF="../../../../../org/apache/solr/common/util/Hash.html#lookup3ycs(int[], int, int, int)"><CODE>lookup3ycs(int[] k, int offset, int length, int initval)</CODE></A> |
---|
306 | </p> |
---|
307 | <p>If you know the number of code points in the <code>CharSequence</code>, you can |
---|
308 | generate the same hash as the original lookup3 |
---|
309 | via <code>lookup3ycs(s, start, end, initval+(numCodePoints<<2))</code> |
---|
310 | <P> |
---|
311 | <DD><DL> |
---|
312 | </DL> |
---|
313 | </DD> |
---|
314 | </DL> |
---|
315 | <HR> |
---|
316 | |
---|
317 | <A NAME="lookup3ycs64(java.lang.CharSequence, int, int, long)"><!-- --></A><H3> |
---|
318 | lookup3ycs64</H3> |
---|
319 | <PRE> |
---|
320 | public static long <B>lookup3ycs64</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang">CharSequence</A> s, |
---|
321 | int start, |
---|
322 | int end, |
---|
323 | long initval)</PRE> |
---|
324 | <DL> |
---|
325 | <DD><p>This is the 64 bit version of lookup3ycs, corresponding to Bob Jenkin's |
---|
326 | lookup3 hashlittle2 with initval biased by -(numCodePoints<<2). It is equivalent |
---|
327 | to lookup3ycs in that if the high bits of initval==0, then the low bits of the |
---|
328 | result will be the same as lookup3ycs. |
---|
329 | </p> |
---|
330 | <P> |
---|
331 | <DD><DL> |
---|
332 | </DL> |
---|
333 | </DD> |
---|
334 | </DL> |
---|
335 | <HR> |
---|
336 | |
---|
337 | <A NAME="murmurhash3_x86_32(byte[], int, int, int)"><!-- --></A><H3> |
---|
338 | murmurhash3_x86_32</H3> |
---|
339 | <PRE> |
---|
340 | public static int <B>murmurhash3_x86_32</B>(byte[] data, |
---|
341 | int offset, |
---|
342 | int len, |
---|
343 | int seed)</PRE> |
---|
344 | <DL> |
---|
345 | <DD>Returns the MurmurHash3_x86_32 hash. |
---|
346 | Original source/tests at https://github.com/yonik/java_util/ |
---|
347 | <P> |
---|
348 | <DD><DL> |
---|
349 | </DL> |
---|
350 | </DD> |
---|
351 | </DL> |
---|
352 | <!-- ========= END OF CLASS DATA ========= --> |
---|
353 | <HR> |
---|
354 | |
---|
355 | |
---|
356 | <!-- ======= START OF BOTTOM NAVBAR ====== --> |
---|
357 | <A NAME="navbar_bottom"><!-- --></A> |
---|
358 | <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> |
---|
359 | <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> |
---|
360 | <TR> |
---|
361 | <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> |
---|
362 | <A NAME="navbar_bottom_firstrow"><!-- --></A> |
---|
363 | <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> |
---|
364 | <TR ALIGN="center" VALIGN="top"> |
---|
365 | <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> |
---|
366 | <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> |
---|
367 | <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> |
---|
368 | <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Hash.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> |
---|
369 | <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> |
---|
370 | <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> |
---|
371 | <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> |
---|
372 | </TR> |
---|
373 | </TABLE> |
---|
374 | </TD> |
---|
375 | <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> |
---|
376 | </EM> |
---|
377 | </TD> |
---|
378 | </TR> |
---|
379 | |
---|
380 | <TR> |
---|
381 | <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> |
---|
382 | <A HREF="../../../../../org/apache/solr/common/util/FastOutputStream.html" title="class in org.apache.solr.common.util"><B>PREV CLASS</B></A> |
---|
383 | <A HREF="../../../../../org/apache/solr/common/util/IteratorChain.html" title="class in org.apache.solr.common.util"><B>NEXT CLASS</B></A></FONT></TD> |
---|
384 | <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> |
---|
385 | <A HREF="../../../../../index.html?org/apache/solr/common/util/Hash.html" target="_top"><B>FRAMES</B></A> |
---|
386 | <A HREF="Hash.html" target="_top"><B>NO FRAMES</B></A> |
---|
387 | <SCRIPT type="text/javascript"> |
---|
388 | <!-- |
---|
389 | if(window==top) { |
---|
390 | document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); |
---|
391 | } |
---|
392 | //--> |
---|
393 | </SCRIPT> |
---|
394 | <NOSCRIPT> |
---|
395 | <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> |
---|
396 | </NOSCRIPT> |
---|
397 | |
---|
398 | |
---|
399 | </FONT></TD> |
---|
400 | </TR> |
---|
401 | <TR> |
---|
402 | <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> |
---|
403 | SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> |
---|
404 | <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> |
---|
405 | DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> |
---|
406 | </TR> |
---|
407 | </TABLE> |
---|
408 | <A NAME="skip-navbar_bottom"></A> |
---|
409 | <!-- ======== END OF BOTTOM NAVBAR ======= --> |
---|
410 | |
---|
411 | <HR> |
---|
412 | |
---|
413 | <address>Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.</address> |
---|
414 | <script src='../../../../../prettify.js' type='text/javascript'></script> |
---|
415 | <script type='text/javascript'> |
---|
416 | (function(){ |
---|
417 | var oldonload = window.onload; |
---|
418 | if (typeof oldonload != 'function') { |
---|
419 | window.onload = prettyPrint; |
---|
420 | } else { |
---|
421 | window.onload = function() { |
---|
422 | oldonload(); |
---|
423 | prettyPrint(); |
---|
424 | } |
---|
425 | } |
---|
426 | })(); |
---|
427 | </script> |
---|
428 | |
---|
429 | </BODY> |
---|
430 | </HTML> |
---|