Skip to content

Commit fa7fb32

Browse files
committed
Remove IntGrowableArray and replace it with IntArrayList #42
1 parent 414a600 commit fa7fb32

File tree

4 files changed

+12
-71
lines changed

4 files changed

+12
-71
lines changed

hppc/src/main/java/com/carrotsearch/hppc/IntGrowableArray.java

-59
This file was deleted.

hppc/src/main/java/com/carrotsearch/hppc/PgmIndexUtil.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -13,28 +13,28 @@
1313
class PgmIndexUtil {
1414

1515
/** Adds the first key of the current segment to the segment data bytes. */
16-
static <KType> void addKey(KType key, IntGrowableArray segmentData) {
16+
static <KType> void addKey(KType key, IntArrayList segmentData) {
1717
throw new UnsupportedOperationException("Invalid for generic type: " + key);
1818
}
1919

2020
/** Adds the first key of the current segment to the segment data bytes. */
21-
static void addKey(int key, IntGrowableArray segmentData) {
21+
static void addKey(int key, IntArrayList segmentData) {
2222
segmentData.add(key);
2323
}
2424

2525
/** Adds the first key of the current segment to the segment data bytes. */
26-
static void addKey(float key, IntGrowableArray segmentData) {
26+
static void addKey(float key, IntArrayList segmentData) {
2727
addKey(Float.floatToIntBits(key), segmentData);
2828
}
2929

3030
/** Adds the first key of the current segment to the segment data bytes. */
31-
static void addKey(long key, IntGrowableArray segmentData) {
31+
static void addKey(long key, IntArrayList segmentData) {
3232
segmentData.add((int) key);
3333
segmentData.add((int) (key >> 32));
3434
}
3535

3636
/** Adds the first key of the current segment to the segment data bytes. */
37-
static void addKey(double key, IntGrowableArray segmentData) {
37+
static void addKey(double key, IntArrayList segmentData) {
3838
addKey(Double.doubleToRawLongBits(key), segmentData);
3939
}
4040

@@ -70,7 +70,7 @@ static double getKey(int segmentDataIndex, int[] segmentData, double keyType) {
7070
*
7171
* @param keySize The size of the key, measure in {@link Integer#BYTES}.
7272
*/
73-
static void addIntercept(long intercept, IntGrowableArray segmentData, int keySize) {
73+
static void addIntercept(long intercept, IntArrayList segmentData, int keySize) {
7474
assert keySize >= 1 && keySize <= 2;
7575
if (keySize == 1) {
7676
addKey((int) intercept, segmentData);
@@ -98,7 +98,7 @@ static long getIntercept(int segmentDataIndex, int[] segmentData, int keySize) {
9898
*
9999
* @param keySize The size of the key, measure in {@link Integer#BYTES}.
100100
*/
101-
static void addSlope(double slope, IntGrowableArray segmentData, int keySize) {
101+
static void addSlope(double slope, IntArrayList segmentData, int keySize) {
102102
assert keySize >= 1 && keySize <= 2;
103103
if (keySize == 1) {
104104
addKey((float) slope, segmentData);

hppc/src/main/templates/com/carrotsearch/hppc/KTypePgmIndex.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ public static class KTypeBuilder<KType> implements PlaModel.SegmentConsumer, Acc
429429
protected int epsilonRecursive = EPSILON_RECURSIVE;
430430
protected PlaModel plam;
431431
protected int size;
432-
protected IntGrowableArray segmentData;
432+
protected IntArrayList segmentData;
433433
protected int numSegments;
434434

435435
/** Sets the sorted list of keys to build the index for; duplicate elements are allowed. */
@@ -472,8 +472,8 @@ public KTypePgmIndex<KType> build() {
472472
plam = new PlaModel(epsilon);
473473

474474
int segmentsInitialCapacity = Math.min(Math.max(keys.size() / (2 * epsilon * epsilon) * SEGMENT_DATA_SIZE, 16), 1 << 19);
475-
segmentData = new IntGrowableArray(segmentsInitialCapacity);
476-
IntGrowableArray levelOffsets = new IntGrowableArray(16);
475+
segmentData = new IntArrayList(segmentsInitialCapacity);
476+
IntArrayList levelOffsets = new IntArrayList(16);
477477

478478
int levelOffset = 0;
479479
levelOffsets.add(levelOffset);
@@ -555,7 +555,7 @@ public void accept(double firstKey, double slope, long intercept) {
555555
PgmIndexUtil.addKey((KType)Intrinsics.<KType>cast(firstKey), segmentData);
556556
PgmIndexUtil.addSlope(slope, segmentData, KEY_SIZE);
557557
numSegments++;
558-
assert segmentData.size == numSegments * SEGMENT_DATA_SIZE;
558+
assert segmentData.size() == numSegments * SEGMENT_DATA_SIZE;
559559
}
560560

561561
/**

versions.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,6 @@ benmanes-versions = "com.github.ben-manes.versions:0.51.0"
3939
dependencychecks = "com.carrotsearch.gradle.dependencychecks:0.0.7"
4040
forbiddenapis = "de.thetaphi.forbiddenapis:3.7"
4141
jmh = "me.champeau.jmh:0.7.2"
42+
randomizedtesting = "com.carrotsearch.gradle.randomizedtesting:0.0.6"
4243
spotless = "com.diffplug.spotless:6.25.0"
4344
versionCatalogUpdate = "nl.littlerobots.version-catalog-update:0.8.4"
44-
randomizedtesting = "com.carrotsearch.gradle.randomizedtesting:0.0.6"

0 commit comments

Comments
 (0)