fix pom, other logistical stuff with regard to Maven, Eclipse setup.
diff --git a/pom.xml b/pom.xml
index 7c718be..b15b064 100644
--- a/pom.xml
+++ b/pom.xml
@@ -115,7 +115,7 @@
<maven-failsafe-plugin.version>3.1.2</maven-failsafe-plugin.version>
<maven-gpg-plugin.version>3.1.0</maven-gpg-plugin.version> <!-- overrides parent -->
<maven-jar-plugin.version>3.2.0</maven-jar-plugin.version> <!-- overrides parent -->
- <maven-javadoc-plugin.version>3.3.1</maven-javadoc-plugin.version> <!-- overrides parent -->
+ <maven-javadoc-plugin.version>3.6.2</maven-javadoc-plugin.version> <!-- overrides parent -->
<maven-release-plugin.version>3.0.0-M4</maven-release-plugin.version> <!-- overrides parent -->
<maven-remote-resources-plugin.version>[1.7.0,)</maven-remote-resources-plugin.version> <!-- overrides parent -->
<maven-source-plugin.version>3.2.1</maven-source-plugin.version> <!-- overrides parent -->
@@ -140,12 +140,6 @@
<version>${testng.version}</version>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.apache.datasketches</groupId>
- <artifactId>datasketches-java-common</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
</dependencies>
<build>
@@ -283,7 +277,6 @@
<useManifestOnlyJar>false</useManifestOnlyJar>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<reportsDirectory>${project.build.directory}/test-output/${maven.build.timestamp}</reportsDirectory>
- <excludedGroups>${testng.generate-java-files},${testng.check-cpp-files}</excludedGroups>
</configuration>
</plugin>
@@ -680,7 +673,6 @@
--add-opens java.base/java.nio=ALL-UNNAMED
--add-opens java.base/sun.nio.ch=ALL-UNNAMED
</argLine>
- <excludedGroups>${testng.generate-java-files},${testng.check-cpp-files}</excludedGroups>
</configuration>
</plugin>
</plugins>
diff --git a/src/main/java/org/apache/datasketches/test/ResourceFiles.java b/src/main/java/org/apache/datasketches/test/ResourceFiles.java
index 85f5761..a3f185a 100644
--- a/src/main/java/org/apache/datasketches/test/ResourceFiles.java
+++ b/src/main/java/org/apache/datasketches/test/ResourceFiles.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package main.java.org.apache.datasketches.test;
+package org.apache.datasketches.test;
import java.io.File;
import java.io.FileOutputStream;
diff --git a/src/main/java/org/apache/datasketches/test/Shuffle.java b/src/main/java/org/apache/datasketches/test/Shuffle.java
new file mode 100644
index 0000000..052a663
--- /dev/null
+++ b/src/main/java/org/apache/datasketches/test/Shuffle.java
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.datasketches.test;
+
+import java.util.Random;
+
+/**
+ * @author Lee Rhodes
+ */
+public final class Shuffle {
+ private static final Random rand = new Random();
+
+ /**
+ * Shuffle the given input float array
+ * @param array input array
+ */
+ public static void shuffle(final float[] array) {
+ final int arrLen = array.length;
+ for (int i = 0; i < arrLen; i++) {
+ final int r = rand.nextInt(i + 1);
+ swap(array, i, r);
+ }
+ }
+
+ private static void swap(final float[] array, final int i1, final int i2) {
+ final float value = array[i1];
+ array[i1] = array[i2];
+ array[i2] = value;
+ }
+
+ /**
+ * Shuffle the given input double array
+ * @param array input array
+ */
+ public static void shuffle(final double[] array) {
+ final int arrLen = array.length;
+ for (int i = 0; i < arrLen; i++) {
+ final int r = rand.nextInt(i + 1);
+ swap(array, i, r);
+ }
+ }
+
+ private static void swap(final double[] array, final int i1, final int i2) {
+ final double value = array[i1];
+ array[i1] = array[i2];
+ array[i2] = value;
+ }
+
+ /**
+ * Shuffle the given input long array
+ * @param array input array
+ */
+ public static void shuffle(final long[] array) {
+ final int arrLen = array.length;
+ for (int i = 0; i < arrLen; i++) {
+ final int r = rand.nextInt(i + 1);
+ swap(array, i, r);
+ }
+ }
+
+ private static void swap(final long[] array, final int i1, final int i2) {
+ final long value = array[i1];
+ array[i1] = array[i2];
+ array[i2] = value;
+ }
+
+ /**
+ * Shuffle the given input int array
+ * @param array input array
+ */
+ public static void shuffle(final int[] array) {
+ final int arrLen = array.length;
+ for (int i = 0; i < arrLen; i++) {
+ final int r = rand.nextInt(i + 1);
+ swap(array, i, r);
+ }
+ }
+
+ private static void swap(final int[] array, final int i1, final int i2) {
+ final int value = array[i1];
+ array[i1] = array[i2];
+ array[i2] = value;
+ }
+
+}
diff --git a/src/test/java/org/apache/datasketches/test/ShuffleTest.java b/src/test/java/org/apache/datasketches/test/ShuffleTest.java
new file mode 100644
index 0000000..fcf5473
--- /dev/null
+++ b/src/test/java/org/apache/datasketches/test/ShuffleTest.java
@@ -0,0 +1,80 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.datasketches.test;
+
+import static org.testng.Assert.fail;
+
+import org.testng.annotations.Test;
+
+public class ShuffleTest {
+
+ @Test
+ public void checkFloat() {
+ float[] array = new float[10];
+ for (int i = 0; i < array.length; i++) { array[i] = i; }
+ Shuffle.shuffle(array);
+ int neCount = 0;
+ for (int i = 0; i < array.length; i++) {
+ if (array[i] != i) { neCount++; }
+ }
+ //System.out.println(neCount);
+ if (neCount == 0) { fail(); }
+ }
+
+ @Test
+ public void checkDouble() {
+ double[] array = new double[10];
+ for (int i = 0; i < array.length; i++) { array[i] = i; }
+ Shuffle.shuffle(array);
+ int neCount = 0;
+ for (int i = 0; i < array.length; i++) {
+ if (array[i] != i) { neCount++; }
+ }
+ //System.out.println(neCount);
+ if (neCount == 0) { fail(); }
+ }
+
+ @Test
+ public void checkLong() {
+ long[] array = new long[10];
+ for (int i = 0; i < array.length; i++) { array[i] = i; }
+ Shuffle.shuffle(array);
+ int neCount = 0;
+ for (int i = 0; i < array.length; i++) {
+ if (array[i] != i) { neCount++; }
+ }
+ //System.out.println(neCount);
+ if (neCount == 0) { fail(); }
+ }
+
+ @Test
+ public void checkInt() {
+ int[] array = new int[10];
+ for (int i = 0; i < array.length; i++) { array[i] = i; }
+ Shuffle.shuffle(array);
+ int neCount = 0;
+ for (int i = 0; i < array.length; i++) {
+ if (array[i] != i) { neCount++; }
+ }
+ //System.out.println(neCount);
+ if (neCount == 0) { fail(); }
+ }
+}
+