blob: ab2c126126cc420f37db44eb943a4a1a8fe0ebeb [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_162) on Thu Oct 25 17:06:10 PDT 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>MurmurHash3Adaptor (com.yahoo.datasketches:sketches-core 0.12.1-SNAPSHOT API)</title>
<meta name="date" content="2018-10-25">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="MurmurHash3Adaptor (com.yahoo.datasketches:sketches-core 0.12.1-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/MurmurHash3Adaptor.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/yahoo/sketches/hash/MurmurHash3.html" title="class in com.yahoo.sketches.hash"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/yahoo/sketches/hash/MurmurHash3Adaptor.html" target="_top">Frames</a></li>
<li><a href="MurmurHash3Adaptor.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.yahoo.sketches.hash</div>
<h2 title="Class MurmurHash3Adaptor" class="title">Class MurmurHash3Adaptor</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.yahoo.sketches.hash.MurmurHash3Adaptor</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public final class <span class="typeNameLabel">MurmurHash3Adaptor</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">A general purpose wrapper for the MurmurHash3.
<ul>
<li>Inputs can be long, long[], int[], char[], byte[], double or String.</li>
<li>Returns null if arrays or String is null or empty.</li>
<li>Provides methods for returning the 128-bit result as either an array of 2 longs or as a byte
array of 16 bytes.</li>
<li>Provides modulo, asDouble and asInt functions.</li>
</ul></div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Lee Rhodes</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#asDouble-long:A-">asDouble</a></span>(long[]&nbsp;hash)</code>
<div class="block">Returns a uniform random double with a minimum inclusive value of zero and a maximum exclusive
value of 1.0.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#asInt-byte:A-int-">asInt</a></span>(byte[]&nbsp;data,
int&nbsp;n)</code>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
n (exclusive) given the input data.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#asInt-double-int-">asInt</a></span>(double&nbsp;datum,
int&nbsp;n)</code>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
n (exclusive) given the input double.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#asInt-int:A-int-">asInt</a></span>(int[]&nbsp;data,
int&nbsp;n)</code>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
n (exclusive) given the input data.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#asInt-long:A-int-">asInt</a></span>(long[]&nbsp;data,
int&nbsp;n)</code>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
n (exclusive) given the input data.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#asInt-long-int-">asInt</a></span>(long&nbsp;datum,
int&nbsp;n)</code>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
n (exclusive) given the input datum.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#asInt-java.lang.String-int-">asInt</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;datum,
int&nbsp;n)</code>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
n (exclusive) given the input datum.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#hashToBytes-byte:A-long-">hashToBytes</a></span>(byte[]&nbsp;data,
long&nbsp;seed)</code>
<div class="block">Hash a byte[] and long seed.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#hashToBytes-char:A-long-">hashToBytes</a></span>(char[]&nbsp;data,
long&nbsp;seed)</code>
<div class="block">Hash a char[] and long seed.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#hashToBytes-double-long-">hashToBytes</a></span>(double&nbsp;datum,
long&nbsp;seed)</code>
<div class="block">Hash a double and long seed.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#hashToBytes-int:A-long-">hashToBytes</a></span>(int[]&nbsp;data,
long&nbsp;seed)</code>
<div class="block">Hash an int[] and long seed.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#hashToBytes-long:A-long-">hashToBytes</a></span>(long[]&nbsp;data,
long&nbsp;seed)</code>
<div class="block">Hash a long[] and long seed.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#hashToBytes-long-long-">hashToBytes</a></span>(long&nbsp;datum,
long&nbsp;seed)</code>
<div class="block">Hash a long and long seed.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#hashToBytes-java.lang.String-long-">hashToBytes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;datum,
long&nbsp;seed)</code>
<div class="block">Hash a String and long seed.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static long[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#hashToLongs-byte:A-long-">hashToLongs</a></span>(byte[]&nbsp;data,
long&nbsp;seed)</code>
<div class="block">Hash a byte[] and long seed.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>static long[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#hashToLongs-char:A-long-">hashToLongs</a></span>(char[]&nbsp;data,
long&nbsp;seed)</code>
<div class="block">Hash a char[] and long seed.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static long[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#hashToLongs-double-long-">hashToLongs</a></span>(double&nbsp;datum,
long&nbsp;seed)</code>
<div class="block">Hash a double and long seed.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>static long[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#hashToLongs-int:A-long-">hashToLongs</a></span>(int[]&nbsp;data,
long&nbsp;seed)</code>
<div class="block">Hash a int[] and long seed.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>static long[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#hashToLongs-long:A-long-">hashToLongs</a></span>(long[]&nbsp;data,
long&nbsp;seed)</code>
<div class="block">Hash a long[] and long seed.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>static long[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#hashToLongs-long-long-">hashToLongs</a></span>(long&nbsp;datum,
long&nbsp;seed)</code>
<div class="block">Hash a long and long seed.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>static long[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#hashToLongs-java.lang.String-long-">hashToLongs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;datum,
long&nbsp;seed)</code>
<div class="block">Hash a String and long seed.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#modulo-long:A-int-">modulo</a></span>(long[]&nbsp;hash,
int&nbsp;divisor)</code>
<div class="block">Returns the remainder from the modulo division of the 128-bit output of the murmurHash3 by the
divisor.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/hash/MurmurHash3Adaptor.html#modulo-long-long-int-">modulo</a></span>(long&nbsp;h0,
long&nbsp;h1,
int&nbsp;divisor)</code>
<div class="block">Returns the remainder from the modulo division of the 128-bit output of the murmurHash3 by the
divisor.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="hashToBytes-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashToBytes</h4>
<pre>public static&nbsp;byte[]&nbsp;hashToBytes(long&nbsp;datum,
long&nbsp;seed)</pre>
<div class="block">Hash a long and long seed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>datum</code> - the input long value</dd>
<dd><code>seed</code> - A long valued seed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The 128-bit hash as a byte[16] in Big Endian order from 2 64-bit longs.</dd>
</dl>
</li>
</ul>
<a name="hashToBytes-long:A-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashToBytes</h4>
<pre>public static&nbsp;byte[]&nbsp;hashToBytes(long[]&nbsp;data,
long&nbsp;seed)</pre>
<div class="block">Hash a long[] and long seed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - the input long array</dd>
<dd><code>seed</code> - A long valued seed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The 128-bit hash as a byte[16] in Big Endian order from 2 64-bit longs.</dd>
</dl>
</li>
</ul>
<a name="hashToBytes-int:A-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashToBytes</h4>
<pre>public static&nbsp;byte[]&nbsp;hashToBytes(int[]&nbsp;data,
long&nbsp;seed)</pre>
<div class="block">Hash an int[] and long seed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - the input int array</dd>
<dd><code>seed</code> - A long valued seed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The 128-bit hash as a byte[16] in Big Endian order from 2 64-bit longs.</dd>
</dl>
</li>
</ul>
<a name="hashToBytes-char:A-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashToBytes</h4>
<pre>public static&nbsp;byte[]&nbsp;hashToBytes(char[]&nbsp;data,
long&nbsp;seed)</pre>
<div class="block">Hash a char[] and long seed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - the input char array</dd>
<dd><code>seed</code> - A long valued seed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The 128-bit hash as a byte[16] in Big Endian order from 2 64-bit longs.</dd>
</dl>
</li>
</ul>
<a name="hashToBytes-byte:A-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashToBytes</h4>
<pre>public static&nbsp;byte[]&nbsp;hashToBytes(byte[]&nbsp;data,
long&nbsp;seed)</pre>
<div class="block">Hash a byte[] and long seed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - the input byte array</dd>
<dd><code>seed</code> - A long valued seed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The 128-bit hash as a byte[16] in Big Endian order from 2 64-bit longs.</dd>
</dl>
</li>
</ul>
<a name="hashToBytes-double-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashToBytes</h4>
<pre>public static&nbsp;byte[]&nbsp;hashToBytes(double&nbsp;datum,
long&nbsp;seed)</pre>
<div class="block">Hash a double and long seed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>datum</code> - the input double</dd>
<dd><code>seed</code> - A long valued seed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The 128-bit hash as a byte[16] in Big Endian order from 2 64-bit longs.</dd>
</dl>
</li>
</ul>
<a name="hashToBytes-java.lang.String-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashToBytes</h4>
<pre>public static&nbsp;byte[]&nbsp;hashToBytes(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;datum,
long&nbsp;seed)</pre>
<div class="block">Hash a String and long seed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>datum</code> - the input String</dd>
<dd><code>seed</code> - A long valued seed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The 128-bit hash as a byte[16] in Big Endian order from 2 64-bit longs.</dd>
</dl>
</li>
</ul>
<a name="hashToLongs-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashToLongs</h4>
<pre>public static&nbsp;long[]&nbsp;hashToLongs(long&nbsp;datum,
long&nbsp;seed)</pre>
<div class="block">Hash a long and long seed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>datum</code> - the input long</dd>
<dd><code>seed</code> - A long valued seed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The 128-bit hash as a long[2].</dd>
</dl>
</li>
</ul>
<a name="hashToLongs-long:A-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashToLongs</h4>
<pre>public static&nbsp;long[]&nbsp;hashToLongs(long[]&nbsp;data,
long&nbsp;seed)</pre>
<div class="block">Hash a long[] and long seed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - the input long array.</dd>
<dd><code>seed</code> - A long valued seed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The 128-bit hash as a long[2].</dd>
</dl>
</li>
</ul>
<a name="hashToLongs-int:A-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashToLongs</h4>
<pre>public static&nbsp;long[]&nbsp;hashToLongs(int[]&nbsp;data,
long&nbsp;seed)</pre>
<div class="block">Hash a int[] and long seed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - the input int array.</dd>
<dd><code>seed</code> - A long valued seed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The 128-bit hash as a long[2].</dd>
</dl>
</li>
</ul>
<a name="hashToLongs-char:A-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashToLongs</h4>
<pre>public static&nbsp;long[]&nbsp;hashToLongs(char[]&nbsp;data,
long&nbsp;seed)</pre>
<div class="block">Hash a char[] and long seed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - the input char array.</dd>
<dd><code>seed</code> - A long valued seed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The 128-bit hash as a long[2].</dd>
</dl>
</li>
</ul>
<a name="hashToLongs-byte:A-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashToLongs</h4>
<pre>public static&nbsp;long[]&nbsp;hashToLongs(byte[]&nbsp;data,
long&nbsp;seed)</pre>
<div class="block">Hash a byte[] and long seed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - the input byte array.</dd>
<dd><code>seed</code> - A long valued seed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The 128-bit hash as a long[2].</dd>
</dl>
</li>
</ul>
<a name="hashToLongs-double-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashToLongs</h4>
<pre>public static&nbsp;long[]&nbsp;hashToLongs(double&nbsp;datum,
long&nbsp;seed)</pre>
<div class="block">Hash a double and long seed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>datum</code> - the input double.</dd>
<dd><code>seed</code> - A long valued seed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The 128-bit hash as a long[2].</dd>
</dl>
</li>
</ul>
<a name="hashToLongs-java.lang.String-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashToLongs</h4>
<pre>public static&nbsp;long[]&nbsp;hashToLongs(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;datum,
long&nbsp;seed)</pre>
<div class="block">Hash a String and long seed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>datum</code> - the input String.</dd>
<dd><code>seed</code> - A long valued seed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The 128-bit hash as a long[2].</dd>
</dl>
</li>
</ul>
<a name="asInt-long:A-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asInt</h4>
<pre>public static&nbsp;int&nbsp;asInt(long[]&nbsp;data,
int&nbsp;n)</pre>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
n (exclusive) given the input data.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - the input long array.</dd>
<dd><code>n</code> - The upper exclusive bound of the integers produced. Must be &gt; 1.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>deterministic uniform random integer</dd>
</dl>
</li>
</ul>
<a name="asInt-int:A-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asInt</h4>
<pre>public static&nbsp;int&nbsp;asInt(int[]&nbsp;data,
int&nbsp;n)</pre>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
n (exclusive) given the input data.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - the input int array.</dd>
<dd><code>n</code> - The upper exclusive bound of the integers produced. Must be &gt; 1.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>deterministic uniform random integer</dd>
</dl>
</li>
</ul>
<a name="asInt-byte:A-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asInt</h4>
<pre>public static&nbsp;int&nbsp;asInt(byte[]&nbsp;data,
int&nbsp;n)</pre>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
n (exclusive) given the input data.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - the input byte array.</dd>
<dd><code>n</code> - The upper exclusive bound of the integers produced. Must be &gt; 1.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>deterministic uniform random integer.</dd>
</dl>
</li>
</ul>
<a name="asInt-long-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asInt</h4>
<pre>public static&nbsp;int&nbsp;asInt(long&nbsp;datum,
int&nbsp;n)</pre>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
n (exclusive) given the input datum.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>datum</code> - the input long</dd>
<dd><code>n</code> - The upper exclusive bound of the integers produced. Must be &gt; 1.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>deterministic uniform random integer</dd>
</dl>
</li>
</ul>
<a name="asInt-double-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asInt</h4>
<pre>public static&nbsp;int&nbsp;asInt(double&nbsp;datum,
int&nbsp;n)</pre>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
n (exclusive) given the input double.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>datum</code> - the given double.</dd>
<dd><code>n</code> - The upper exclusive bound of the integers produced. Must be &gt; 1.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>deterministic uniform random integer</dd>
</dl>
</li>
</ul>
<a name="asInt-java.lang.String-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asInt</h4>
<pre>public static&nbsp;int&nbsp;asInt(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;datum,
int&nbsp;n)</pre>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
n (exclusive) given the input datum.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>datum</code> - the given String.</dd>
<dd><code>n</code> - The upper exclusive bound of the integers produced. Must be &gt; 1.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>deterministic uniform random integer</dd>
</dl>
</li>
</ul>
<a name="asDouble-long:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asDouble</h4>
<pre>public static&nbsp;double&nbsp;asDouble(long[]&nbsp;hash)</pre>
<div class="block">Returns a uniform random double with a minimum inclusive value of zero and a maximum exclusive
value of 1.0.
<p>The double values produced are only as random as the MurmurHash3 algorithm, which may be
adequate for many applications. However, if you are looking for high guarantees of randomness
you should turn to more sophisticated random generators such as Mersenne Twister or Well
algorithms.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>hash</code> - The output of the MurmurHash3.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the uniform random double.</dd>
</dl>
</li>
</ul>
<a name="modulo-long-long-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>modulo</h4>
<pre>public static&nbsp;int&nbsp;modulo(long&nbsp;h0,
long&nbsp;h1,
int&nbsp;divisor)</pre>
<div class="block">Returns the remainder from the modulo division of the 128-bit output of the murmurHash3 by the
divisor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>h0</code> - The lower 64-bits of the 128-bit MurmurHash3 hash.</dd>
<dd><code>h1</code> - The upper 64-bits of the 128-bit MurmurHash3 hash.</dd>
<dd><code>divisor</code> - Must be positive and greater than zero.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the modulo result.</dd>
</dl>
</li>
</ul>
<a name="modulo-long:A-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>modulo</h4>
<pre>public static&nbsp;int&nbsp;modulo(long[]&nbsp;hash,
int&nbsp;divisor)</pre>
<div class="block">Returns the remainder from the modulo division of the 128-bit output of the murmurHash3 by the
divisor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>hash</code> - The size 2 long array from the MurmurHash3.</dd>
<dd><code>divisor</code> - Must be positive and greater than zero.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the modulo result</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/MurmurHash3Adaptor.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/yahoo/sketches/hash/MurmurHash3.html" title="class in com.yahoo.sketches.hash"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/yahoo/sketches/hash/MurmurHash3Adaptor.html" target="_top">Frames</a></li>
<li><a href="MurmurHash3Adaptor.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2015&#x2013;2018. All rights reserved.</small></p>
</body>
</html>