This is an automated email from the ASF dual-hosted git repository.

zaleslaw pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new b986cf6  IGNITE-13531: Code cleanup in Util classes (#8336)
b986cf6 is described below

commit b986cf6f2250858b92e4eda52f9269077659229c
Author: Mark Andreev <mrk.andreev+git...@yandex.ru>
AuthorDate: Wed Nov 4 12:52:24 2020 +0300

    IGNITE-13531: Code cleanup in Util classes (#8336)
---
 .../persistence/DistributedMetaStorageUtil.java           |  9 ++++++++-
 .../apache/ignite/ml/clustering/kmeans/KMeansTrainer.java |  9 +++++----
 .../apache/ignite/ml/dataset/feature/ObjectHistogram.java |  8 ++++----
 .../ignite/ml/dataset/impl/cache/util/ComputeUtils.java   | 15 +++++++++++----
 .../ignite/ml/inference/IgniteModelStorageUtil.java       |  9 ++++++++-
 .../ml/src/main/java/org/apache/ignite/ml/math/Blas.java  |  6 +++++-
 .../main/java/org/apache/ignite/ml/math/util/MapUtil.java |  9 ++++++++-
 .../java/org/apache/ignite/ml/math/util/MatrixUtil.java   |  9 ++++++++-
 .../src/main/java/org/apache/ignite/ml/nn/Activators.java |  6 +++---
 .../ignite/ml/preprocessing/imputing/ImputerTrainer.java  |  7 +++----
 .../preprocessing/maxabsscaling/MaxAbsScalerTrainer.java  |  4 ++--
 .../preprocessing/minmaxscaling/MinMaxScalerTrainer.java  |  7 +++----
 .../ml/src/main/java/org/apache/ignite/ml/util/Utils.java |  9 ++++++++-
 13 files changed, 76 insertions(+), 31 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageUtil.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageUtil.java
index 01be742..309b7a0 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageUtil.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageUtil.java
@@ -24,7 +24,14 @@ import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.marshaller.jdk.JdkMarshaller;
 
 /** */
-class DistributedMetaStorageUtil {
+final class DistributedMetaStorageUtil {
+    /**
+     *
+     */
+    private DistributedMetaStorageUtil() {
+        // No-op.
+    }
+
     /**
      * Common prefix for everything that is going to be written into {@link 
MetaStorage}. Something that has minimal
      * chance of collision with the existing keys.
diff --git 
a/modules/ml/src/main/java/org/apache/ignite/ml/clustering/kmeans/KMeansTrainer.java
 
b/modules/ml/src/main/java/org/apache/ignite/ml/clustering/kmeans/KMeansTrainer.java
index 05f41b5..caec370e 100644
--- 
a/modules/ml/src/main/java/org/apache/ignite/ml/clustering/kmeans/KMeansTrainer.java
+++ 
b/modules/ml/src/main/java/org/apache/ignite/ml/clustering/kmeans/KMeansTrainer.java
@@ -21,6 +21,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Optional;
 import java.util.Random;
 import java.util.Set;
@@ -114,13 +115,13 @@ public class KMeansTrainer extends 
SingleLabelDatasetTrainer<KMeansModel> {
 
                 converged = true;
 
-                for (Integer ind : totalRes.sums.keySet()) {
-                    Vector massCenter = totalRes.sums.get(ind).times(1.0 / 
totalRes.counts.get(ind));
+                for (Map.Entry<Integer, Vector> entry : 
totalRes.sums.entrySet()) {
+                    Vector massCenter = entry.getValue().times(1.0 / 
totalRes.counts.get(entry.getKey()));
 
-                    if (converged && distance.compute(massCenter, 
centers[ind]) > epsilon * epsilon)
+                    if (converged && distance.compute(massCenter, 
centers[entry.getKey()]) > epsilon * epsilon)
                         converged = false;
 
-                    newCentroids[ind] = massCenter;
+                    newCentroids[entry.getKey()] = massCenter;
                 }
 
                 iteration++;
diff --git 
a/modules/ml/src/main/java/org/apache/ignite/ml/dataset/feature/ObjectHistogram.java
 
b/modules/ml/src/main/java/org/apache/ignite/ml/dataset/feature/ObjectHistogram.java
index a66cb48..17c22ca 100644
--- 
a/modules/ml/src/main/java/org/apache/ignite/ml/dataset/feature/ObjectHistogram.java
+++ 
b/modules/ml/src/main/java/org/apache/ignite/ml/dataset/feature/ObjectHistogram.java
@@ -60,9 +60,9 @@ public abstract class ObjectHistogram<T> implements 
Histogram<T, ObjectHistogram
         TreeMap<Integer, Double> res = new TreeMap<>();
 
         double accum = 0.0;
-        for (Integer bucket : hist.keySet()) {
-            accum += hist.get(bucket);
-            res.put(bucket, accum);
+        for (Map.Entry<Integer, Double> entry : hist.entrySet()) {
+            accum += entry.getValue();
+            res.put(entry.getKey(), accum);
         }
 
         return res;
@@ -71,7 +71,7 @@ public abstract class ObjectHistogram<T> implements 
Histogram<T, ObjectHistogram
     /** {@inheritDoc} */
     @Override public ObjectHistogram<T> plus(ObjectHistogram<T> other) {
         ObjectHistogram<T> res = newInstance();
-        addTo(this.hist, res.hist);
+        addTo(hist, res.hist);
         addTo(other.hist, res.hist);
         return res;
     }
diff --git 
a/modules/ml/src/main/java/org/apache/ignite/ml/dataset/impl/cache/util/ComputeUtils.java
 
b/modules/ml/src/main/java/org/apache/ignite/ml/dataset/impl/cache/util/ComputeUtils.java
index b53c27b..5b50c94 100644
--- 
a/modules/ml/src/main/java/org/apache/ignite/ml/dataset/impl/cache/util/ComputeUtils.java
+++ 
b/modules/ml/src/main/java/org/apache/ignite/ml/dataset/impl/cache/util/ComputeUtils.java
@@ -56,7 +56,14 @@ import org.apache.ignite.ml.util.Utils;
 /**
  * Util class that provides common methods to perform computations on top of 
the Ignite Compute Grid.
  */
-public class ComputeUtils {
+public final class ComputeUtils {
+    /**
+     *
+     */
+    private ComputeUtils() {
+        // No-op.
+    }
+
     /** Template of the key used to store partition {@code data} in local 
storage. */
     private static final String DATA_STORAGE_KEY_TEMPLATE = 
"part_data_storage_%s";
 
@@ -110,11 +117,11 @@ public class ComputeUtils {
                 }
 
             // Collects results.
-            for (int part : futures.keySet())
+            for (Map.Entry<Integer, IgniteFuture<R>> entry : 
futures.entrySet())
                 try {
-                    R res = futures.get(part).get();
+                    R res = entry.getValue().get();
                     results.add(res);
-                    completionFlags.set(part);
+                    completionFlags.set(entry.getKey());
                 }
                 catch (IgniteException ignore) {
                 }
diff --git 
a/modules/ml/src/main/java/org/apache/ignite/ml/inference/IgniteModelStorageUtil.java
 
b/modules/ml/src/main/java/org/apache/ignite/ml/inference/IgniteModelStorageUtil.java
index e751ecc..238d900 100644
--- 
a/modules/ml/src/main/java/org/apache/ignite/ml/inference/IgniteModelStorageUtil.java
+++ 
b/modules/ml/src/main/java/org/apache/ignite/ml/inference/IgniteModelStorageUtil.java
@@ -42,7 +42,14 @@ import org.jetbrains.annotations.NotNull;
 /**
  * Utils class that helps to operate with model storage and Ignite models.
  */
-public class IgniteModelStorageUtil {
+public final class IgniteModelStorageUtil {
+    /**
+     *
+     */
+    private IgniteModelStorageUtil(){
+        // No-op.
+    }
+
     /** Folder to be used to store Ignite models. */
     private static final String IGNITE_MDL_FOLDER = "/ignite_models";
 
diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/Blas.java 
b/modules/ml/src/main/java/org/apache/ignite/ml/math/Blas.java
index 137c64c..69a349b 100644
--- a/modules/ml/src/main/java/org/apache/ignite/ml/math/Blas.java
+++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/Blas.java
@@ -17,6 +17,7 @@
 
 package org.apache.ignite.ml.math;
 
+import java.io.Serializable;
 import java.util.Set;
 import com.github.fommil.netlib.BLAS;
 import com.github.fommil.netlib.F2jBLAS;
@@ -35,7 +36,10 @@ import org.apache.ignite.ml.math.util.MatrixUtil;
  * Useful subset of BLAS operations.
  * This class is based on 'BLAS' class from Apache Spark MLlib.
  */
-public class Blas {
+public class Blas implements Serializable {
+    /** */
+    private static final long serialVersionUID = 124309657712638021L;
+
     /** F2J implementation of BLAS. */
     private static transient BLAS f2jBlas = new F2jBLAS();
 
diff --git 
a/modules/ml/src/main/java/org/apache/ignite/ml/math/util/MapUtil.java 
b/modules/ml/src/main/java/org/apache/ignite/ml/math/util/MapUtil.java
index 9190901..c632d1b 100644
--- a/modules/ml/src/main/java/org/apache/ignite/ml/math/util/MapUtil.java
+++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/util/MapUtil.java
@@ -27,7 +27,14 @@ import java.util.stream.Stream;
 /**
  * Some {@link Map} related utils.
  */
-public class MapUtil {
+public final class MapUtil {
+    /**
+     *
+     */
+    private MapUtil(){
+        // No-op.
+    }
+
     /** */
     public static <K, V, M extends Map<K, V>> M mergeMaps(M m1, M m2, 
BinaryOperator<V> op, Supplier<M> mapSupplier) {
         return Stream.of(m1, m2)
diff --git 
a/modules/ml/src/main/java/org/apache/ignite/ml/math/util/MatrixUtil.java 
b/modules/ml/src/main/java/org/apache/ignite/ml/math/util/MatrixUtil.java
index 7cc7f27..21a5f0b 100644
--- a/modules/ml/src/main/java/org/apache/ignite/ml/math/util/MatrixUtil.java
+++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/util/MatrixUtil.java
@@ -32,7 +32,14 @@ import 
org.apache.ignite.ml.math.primitives.vector.impl.DenseVector;
 /**
  * Utility class for various matrix operations.
  */
-public class MatrixUtil {
+public final class MatrixUtil {
+    /**
+     *
+     */
+    private MatrixUtil() {
+        // No-op.
+    }
+
     /**
      * Create the like matrix with read-only matrices support.
      *
diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/nn/Activators.java 
b/modules/ml/src/main/java/org/apache/ignite/ml/nn/Activators.java
index 4c34cd2..7665164 100644
--- a/modules/ml/src/main/java/org/apache/ignite/ml/nn/Activators.java
+++ b/modules/ml/src/main/java/org/apache/ignite/ml/nn/Activators.java
@@ -26,7 +26,7 @@ public class Activators {
     /**
      * Sigmoid activation function.
      */
-    public static IgniteDifferentiableDoubleToDoubleFunction SIGMOID = new 
IgniteDifferentiableDoubleToDoubleFunction() {
+    public static final IgniteDifferentiableDoubleToDoubleFunction SIGMOID = 
new IgniteDifferentiableDoubleToDoubleFunction() {
         /** {@inheritDoc} */
         @Override public double differential(double pnt) {
             double v = apply(pnt);
@@ -42,7 +42,7 @@ public class Activators {
     /**
      * Rectified linear unit (ReLU) activation function.
      */
-    public static IgniteDifferentiableDoubleToDoubleFunction RELU = new 
IgniteDifferentiableDoubleToDoubleFunction() {
+    public static final IgniteDifferentiableDoubleToDoubleFunction RELU = new 
IgniteDifferentiableDoubleToDoubleFunction() {
         /**
          * Differential of ReLU at pnt. Formally, function is not 
differentiable at 0, but we let differential at 0 be 0.
          *
@@ -62,7 +62,7 @@ public class Activators {
     /**
      * Linear unit activation function.
      */
-    public static IgniteDifferentiableDoubleToDoubleFunction LINEAR = new 
IgniteDifferentiableDoubleToDoubleFunction() {
+    public static final IgniteDifferentiableDoubleToDoubleFunction LINEAR = 
new IgniteDifferentiableDoubleToDoubleFunction() {
         /** {@inheritDoc} */
         @Override public double differential(double pnt) {
             return 1.0;
diff --git 
a/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/imputing/ImputerTrainer.java
 
b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/imputing/ImputerTrainer.java
index e33504e..449bb22 100644
--- 
a/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/imputing/ImputerTrainer.java
+++ 
b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/imputing/ImputerTrainer.java
@@ -17,6 +17,7 @@
 
 package org.apache.ignite.ml.preprocessing.imputing;
 
+import java.util.Arrays;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.Map;
@@ -442,8 +443,7 @@ public class ImputerTrainer<K, V> implements 
PreprocessingTrainer<K, V> {
     private double[] updateTheMins(LabeledVector row, double[] mins) {
         if (mins == null) {
             mins = new double[row.size()];
-            for (int i = 0; i < mins.length; i++)
-                mins[i] = Double.POSITIVE_INFINITY;
+            Arrays.fill(mins, Double.POSITIVE_INFINITY);
         }
 
         else
@@ -468,8 +468,7 @@ public class ImputerTrainer<K, V> implements 
PreprocessingTrainer<K, V> {
     private double[] updateTheMaxs(LabeledVector row, double[] maxs) {
         if (maxs == null) {
             maxs = new double[row.size()];
-            for (int i = 0; i < maxs.length; i++)
-                maxs[i] = Double.NEGATIVE_INFINITY;
+            Arrays.fill(maxs, Double.NEGATIVE_INFINITY);
         }
 
         else
diff --git 
a/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/maxabsscaling/MaxAbsScalerTrainer.java
 
b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/maxabsscaling/MaxAbsScalerTrainer.java
index b7678f9..978fcb4 100644
--- 
a/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/maxabsscaling/MaxAbsScalerTrainer.java
+++ 
b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/maxabsscaling/MaxAbsScalerTrainer.java
@@ -17,6 +17,7 @@
 
 package org.apache.ignite.ml.preprocessing.maxabsscaling;
 
+import java.util.Arrays;
 import org.apache.ignite.ml.dataset.Dataset;
 import org.apache.ignite.ml.dataset.DatasetBuilder;
 import org.apache.ignite.ml.dataset.UpstreamEntry;
@@ -50,8 +51,7 @@ public class MaxAbsScalerTrainer<K, V> implements 
PreprocessingTrainer<K, V> {
 
                     if (maxAbs == null) {
                         maxAbs = new double[row.size()];
-                        for (int i = 0; i < maxAbs.length; i++)
-                            maxAbs[i] = .0;
+                        Arrays.fill(maxAbs, .0);
                     }
                     else
                         assert maxAbs.length == row.size() : "Base 
preprocessor must return exactly " + maxAbs.length
diff --git 
a/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/minmaxscaling/MinMaxScalerTrainer.java
 
b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/minmaxscaling/MinMaxScalerTrainer.java
index 54a6d59..272dab1 100644
--- 
a/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/minmaxscaling/MinMaxScalerTrainer.java
+++ 
b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/minmaxscaling/MinMaxScalerTrainer.java
@@ -17,6 +17,7 @@
 
 package org.apache.ignite.ml.preprocessing.minmaxscaling;
 
+import java.util.Arrays;
 import org.apache.ignite.ml.dataset.Dataset;
 import org.apache.ignite.ml.dataset.DatasetBuilder;
 import org.apache.ignite.ml.dataset.PartitionContextBuilder;
@@ -53,8 +54,7 @@ public class MinMaxScalerTrainer<K, V> implements 
PreprocessingTrainer<K, V> {
 
                     if (min == null) {
                         min = new double[row.size()];
-                        for (int i = 0; i < min.length; i++)
-                            min[i] = Double.MAX_VALUE;
+                        Arrays.fill(min, Double.MAX_VALUE);
                     }
                     else
                         assert min.length == row.size() : "Base preprocessor 
must return exactly " + min.length
@@ -62,8 +62,7 @@ public class MinMaxScalerTrainer<K, V> implements 
PreprocessingTrainer<K, V> {
 
                     if (max == null) {
                         max = new double[row.size()];
-                        for (int i = 0; i < max.length; i++)
-                            max[i] = -Double.MAX_VALUE;
+                        Arrays.fill(max, -Double.MAX_VALUE);
                     }
                     else
                         assert max.length == row.size() : "Base preprocessor 
must return exactly " + min.length
diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/util/Utils.java 
b/modules/ml/src/main/java/org/apache/ignite/ml/util/Utils.java
index 8100f93..333ade4 100644
--- a/modules/ml/src/main/java/org/apache/ignite/ml/util/Utils.java
+++ b/modules/ml/src/main/java/org/apache/ignite/ml/util/Utils.java
@@ -34,7 +34,14 @@ import org.apache.ignite.IgniteException;
 /**
  * Class with various utility methods.
  */
-public class Utils {
+public final class Utils {
+    /**
+     *
+     */
+    private Utils(){
+        // No-op.
+    }
+
     /**
      * Perform deep copy of an object.
      *

Reply via email to