Skip to content

Commit 1acfe94

Browse files
committed
Rename the MurmurHash3FFM21 class to MurmurHash3FFM. The 21 was
misleading.
1 parent 39a47af commit 1acfe94

3 files changed

Lines changed: 39 additions & 39 deletions

File tree

src/main/java/org/apache/datasketches/hash/MurmurHash3FFM21.java renamed to src/main/java/org/apache/datasketches/hash/MurmurHash3FFM.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,16 @@
4444
* <p>This implementation produces exactly the same hash result as the
4545
* MurmurHash3 function in datasketches-java given compatible inputs.</p>
4646
*
47-
* <p>This FFM21 version of the implementation leverages the java.lang.foreign package (FFM) of JDK-21 in place of
47+
* <p>This FFM version of the implementation leverages the java.lang.foreign package (FFM) of JDK-25 in place of
4848
* the Unsafe class.
4949
*
5050
* @author Lee Rhodes
5151
*/
52-
public final class MurmurHash3FFM21 {
52+
public final class MurmurHash3FFM {
5353
private static final long C1 = 0x87c37b91114253d5L;
5454
private static final long C2 = 0x4cf5ad432745937fL;
5555

56-
private MurmurHash3FFM21() { }
56+
private MurmurHash3FFM() { }
5757

5858
/**
5959
* Returns a 128-bit hash of the input.
@@ -199,7 +199,7 @@ public static long[] hash(final MemorySegment seg, final long offsetBytes, final
199199
final long k1 = seg.get(JAVA_LONG_UNALIGNED, cumOff); //0, 16, 32, ...
200200
final long k2 = seg.get(JAVA_LONG_UNALIGNED, cumOff + 8); //8, 24, 40, ...
201201

202-
synchronized (MurmurHash3FFM21.class) {
202+
synchronized (MurmurHash3FFM.class) {
203203
cumOff += 16L;
204204
rem -= 16L;
205205
}

src/test/java/org/apache/datasketches/hash/MurmurHash3FFM21Test.java renamed to src/test/java/org/apache/datasketches/hash/MurmurHash3FFMTest.java

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
/**
3939
* @author Lee Rhodes
4040
*/
41-
public class MurmurHash3FFM21Test {
41+
public class MurmurHash3FFMTest {
4242
private final Random rand = new Random();
4343
private static final int trials = 1 << 20;
4444

@@ -158,25 +158,25 @@ private static final long[] hashV1(final byte[] key, final long seed) {
158158
}
159159

160160
private static final long[] hashV2(final long[] key, final long seed) {
161-
return MurmurHash3FFM21.hash(key, seed);
161+
return MurmurHash3FFM.hash(key, seed);
162162
}
163163

164164
private static final long[] hashV2(final int[] key2, final long seed) {
165-
return MurmurHash3FFM21.hash(key2, seed);
165+
return MurmurHash3FFM.hash(key2, seed);
166166
}
167167

168168
private static final long[] hashV2(final char[] key, final long seed) {
169-
return MurmurHash3FFM21.hash(key, seed);
169+
return MurmurHash3FFM.hash(key, seed);
170170
}
171171

172172
private static final long[] hashV2(final byte[] key, final long seed) {
173-
return MurmurHash3FFM21.hash(key, seed);
173+
return MurmurHash3FFM.hash(key, seed);
174174
}
175175

176176
//V2 single primitives
177177

178178
private static final long[] hashV2(final long key, final long seed, final long[] out) {
179-
return MurmurHash3FFM21.hash(key, seed, out);
179+
return MurmurHash3FFM.hash(key, seed, out);
180180
}
181181

182182
// private static final long[] hashV2(double key, long seed, long[] out) {
@@ -201,7 +201,7 @@ public void offsetChecks() {
201201

202202
for (int offset = 0; offset < 16; offset++) {
203203
final int arrLen = cap - offset;
204-
hash1 = MurmurHash3FFM21.hash(wseg, offset, arrLen, seed, hash1);
204+
hash1 = MurmurHash3FFM.hash(wseg, offset, arrLen, seed, hash1);
205205
final byte[] byteArr2 = new byte[arrLen];
206206
MemorySegment.copy(wseg, JAVA_BYTE, offset, byteArr2, 0, arrLen);
207207
hash2 = MurmurHash3.hash(byteArr2, seed);
@@ -224,8 +224,8 @@ public void byteArrChecks() {
224224
for (int i = 0; i < j; i++) { wseg.set(JAVA_BYTE, i, (byte) (-128 + i)); }
225225

226226
final long[] hash1 = MurmurHash3.hash(in, seed);
227-
hash2 = MurmurHash3FFM21.hash(wseg, offset, bytes, seed, hash2);
228-
final long[] hash3 = MurmurHash3FFM21.hash(in, seed);
227+
hash2 = MurmurHash3FFM.hash(wseg, offset, bytes, seed, hash2);
228+
final long[] hash3 = MurmurHash3FFM.hash(in, seed);
229229

230230
assertEquals(hash1, hash2);
231231
assertEquals(hash1, hash3);
@@ -248,8 +248,8 @@ public void charArrChecks() {
248248
for (int i = 0; i < j; i++) { wseg.set(JAVA_INT_UNALIGNED, i, i); }
249249

250250
final long[] hash1 = MurmurHash3.hash(in, 0);
251-
hash2 = MurmurHash3FFM21.hash(wseg, offset, bytes, seed, hash2);
252-
final long[] hash3 = MurmurHash3FFM21.hash(in, seed);
251+
hash2 = MurmurHash3FFM.hash(wseg, offset, bytes, seed, hash2);
252+
final long[] hash3 = MurmurHash3FFM.hash(in, seed);
253253

254254
assertEquals(hash1, hash2);
255255
assertEquals(hash1, hash3);
@@ -272,8 +272,8 @@ public void intArrChecks() {
272272
for (int i = 0; i < j; i++) { wseg.set(JAVA_INT_UNALIGNED, i, i); }
273273

274274
final long[] hash1 = MurmurHash3.hash(in, 0);
275-
hash2 = MurmurHash3FFM21.hash(wseg, offset, bytes, seed, hash2);
276-
final long[] hash3 = MurmurHash3FFM21.hash(in, seed);
275+
hash2 = MurmurHash3FFM.hash(wseg, offset, bytes, seed, hash2);
276+
final long[] hash3 = MurmurHash3FFM.hash(in, seed);
277277

278278
assertEquals(hash1, hash2);
279279
assertEquals(hash1, hash3);
@@ -296,8 +296,8 @@ public void longArrChecks() {
296296
for (int i = 0; i < j; i++) { wseg.set(JAVA_LONG_UNALIGNED, i, i); }
297297

298298
final long[] hash1 = MurmurHash3.hash(in, 0);
299-
hash2 = MurmurHash3FFM21.hash(wseg, offset, bytes, seed, hash2);
300-
final long[] hash3 = MurmurHash3FFM21.hash(in, seed);
299+
hash2 = MurmurHash3FFM.hash(wseg, offset, bytes, seed, hash2);
300+
final long[] hash3 = MurmurHash3FFM.hash(in, seed);
301301

302302
assertEquals(hash1, hash2);
303303
assertEquals(hash1, hash3);
@@ -315,8 +315,8 @@ public void longCheck() {
315315
final MemorySegment wseg = MemorySegment.ofArray(in);
316316

317317
final long[] hash1 = MurmurHash3.hash(in, 0);
318-
hash2 = MurmurHash3FFM21.hash(wseg, offset, bytes, seed, hash2);
319-
final long[] hash3 = MurmurHash3FFM21.hash(in, seed);
318+
hash2 = MurmurHash3FFM.hash(wseg, offset, bytes, seed, hash2);
319+
final long[] hash3 = MurmurHash3FFM.hash(in, seed);
320320

321321
assertEquals(hash1, hash2);
322322
assertEquals(hash1, hash3);
@@ -327,57 +327,57 @@ public void checkEmptiesNulls() {
327327
final long seed = 123;
328328
final long[] hashOut = new long[2];
329329
try {
330-
MurmurHash3FFM21.hash(MemorySegment.ofArray(new long[0]), 0, 0, seed, hashOut); //seg empty
330+
MurmurHash3FFM.hash(MemorySegment.ofArray(new long[0]), 0, 0, seed, hashOut); //seg empty
331331
fail();
332332
} catch (final IllegalArgumentException e) { } //OK
333333
try {
334334
final String s = "";
335-
MurmurHash3FFM21.hash(s, seed, hashOut); //string empty
335+
MurmurHash3FFM.hash(s, seed, hashOut); //string empty
336336
fail();
337337
} catch (final IllegalArgumentException e) { } //OK
338338
try {
339339
final String s = null;
340-
MurmurHash3FFM21.hash(s, seed, hashOut); //string null
340+
MurmurHash3FFM.hash(s, seed, hashOut); //string null
341341
fail();
342342
} catch (final IllegalArgumentException e) { } //OK
343343
try {
344344
final byte[] barr = {};
345-
MurmurHash3FFM21.hash(barr, seed); //byte[] empty
345+
MurmurHash3FFM.hash(barr, seed); //byte[] empty
346346
fail();
347347
} catch (final IllegalArgumentException e) { } //OK
348348
try {
349349
final byte[] barr = null;
350-
MurmurHash3FFM21.hash(barr, seed); //byte[] null
350+
MurmurHash3FFM.hash(barr, seed); //byte[] null
351351
fail();
352352
} catch (final IllegalArgumentException e) { } //OK
353353
try {
354354
final char[] carr = {};
355-
MurmurHash3FFM21.hash(carr, seed); //char[] empty
355+
MurmurHash3FFM.hash(carr, seed); //char[] empty
356356
fail();
357357
} catch (final IllegalArgumentException e) { } //OK
358358
try {
359359
final char[] carr = null;
360-
MurmurHash3FFM21.hash(carr, seed); //char[] null
360+
MurmurHash3FFM.hash(carr, seed); //char[] null
361361
fail();
362362
} catch (final IllegalArgumentException e) { } //OK
363363
try {
364364
final int[] iarr = {};
365-
MurmurHash3FFM21.hash(iarr, seed); //int[] empty
365+
MurmurHash3FFM.hash(iarr, seed); //int[] empty
366366
fail();
367367
} catch (final IllegalArgumentException e) { } //OK
368368
try {
369369
final int[] iarr = null;
370-
MurmurHash3FFM21.hash(iarr, seed); //int[] null
370+
MurmurHash3FFM.hash(iarr, seed); //int[] null
371371
fail();
372372
} catch (final IllegalArgumentException e) { } //OK
373373
try {
374374
final long[] larr = {};
375-
MurmurHash3FFM21.hash(larr, seed); //long[] empty
375+
MurmurHash3FFM.hash(larr, seed); //long[] empty
376376
fail();
377377
} catch (final IllegalArgumentException e) { } //OK
378378
try {
379379
final long[] larr = null;
380-
MurmurHash3FFM21.hash(larr, seed); //long[] null
380+
MurmurHash3FFM.hash(larr, seed); //long[] null
381381
fail();
382382
} catch (final IllegalArgumentException e) { } //OK
383383
}
@@ -387,9 +387,9 @@ public void checkStringLong() {
387387
final long seed = 123;
388388
final long[] hashOut = new long[2];
389389
final String s = "123";
390-
assertTrue(MurmurHash3FFM21.hash(s, seed, hashOut)[0] != 0);
390+
assertTrue(MurmurHash3FFM.hash(s, seed, hashOut)[0] != 0);
391391
final long v = 123;
392-
assertTrue(MurmurHash3FFM21.hash(v, seed, hashOut)[0] != 0);
392+
assertTrue(MurmurHash3FFM.hash(v, seed, hashOut)[0] != 0);
393393
}
394394

395395
@Test
@@ -417,8 +417,8 @@ private static long[] checkDouble(final double dbl) {
417417

418418
final MemorySegment wseg = MemorySegment.ofArray(dataArr);
419419
final long[] hash1 = MurmurHash3.hash(dataArr, 0);
420-
hash2 = MurmurHash3FFM21.hash(wseg, offset, bytes, seed, hash2);
421-
final long[] hash3 = MurmurHash3FFM21.hash(dbl, seed, hash2);
420+
hash2 = MurmurHash3FFM.hash(wseg, offset, bytes, seed, hash2);
421+
final long[] hash3 = MurmurHash3FFM.hash(dbl, seed, hash2);
422422

423423
assertEquals(hash1, hash2);
424424
assertEquals(hash1, hash3);

src/test/java/org/apache/datasketches/hash/MurmurHash3FFM21bTest.java renamed to src/test/java/org/apache/datasketches/hash/MurmurHash3FFMbTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
package org.apache.datasketches.hash;
2121

2222
import static java.nio.charset.StandardCharsets.UTF_8;
23-
import static org.apache.datasketches.hash.MurmurHash3FFM21.hash;
23+
import static org.apache.datasketches.hash.MurmurHash3FFM.hash;
2424
import static org.testng.Assert.assertTrue;
2525
import static org.testng.Assert.fail;
2626

@@ -36,7 +36,7 @@
3636
*
3737
* @author Lee Rhodes
3838
*/
39-
public class MurmurHash3FFM21bTest {
39+
public class MurmurHash3FFMbTest {
4040

4141
@Test
4242
public void checkByteArrRemainderGT8() { //byte[], remainder > 8
@@ -195,7 +195,7 @@ public void checkByteArrAllOnesZeros() { //byte[], test a ones byte and a zeros
195195
0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x7a, 0x79, 0x20, 0x64, 0x6f, 0x67,
196196
(byte) 0xff, 0x64, 0x6f, 0x67, 0x00
197197
};
198-
final long[] result = MurmurHash3FFM21.hash(key, 0);
198+
final long[] result = MurmurHash3FFM.hash(key, 0);
199199
//Should be:
200200
final long h1 = 0xe88abda785929c9eL;
201201
final long h2 = 0x96b98587cacc83d6L;

0 commit comments

Comments
 (0)