You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by er...@apache.org on 2015/09/04 16:12:52 UTC
[math] MATH-1265
Repository: commons-math
Updated Branches:
refs/heads/master 1f7b1c12f -> 18a027b1f
MATH-1265
Implement "Iterable".
Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/18a027b1
Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/18a027b1
Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/18a027b1
Branch: refs/heads/master
Commit: 18a027b1f04e420c18ae57aebe8fd031b5ff251c
Parents: 1f7b1c1
Author: Gilles <er...@apache.org>
Authored: Fri Sep 4 16:11:41 2015 +0200
Committer: Gilles <er...@apache.org>
Committed: Fri Sep 4 16:11:41 2015 +0200
----------------------------------------------------------------------
src/changes/changes.xml | 3 +++
.../ml/neuralnet/twod/NeuronSquareMesh2D.java | 9 ++++++-
.../neuralnet/twod/NeuronSquareMesh2DTest.java | 26 ++++++++++++++++++++
3 files changed, 37 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-math/blob/18a027b1/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 75cad4e..ee4b64c 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -54,6 +54,9 @@ If the output is not quite correct, check for invisible trailing spaces!
</release>
<release version="4.0" date="XXXX-XX-XX" description="">
+ <action dev="erans" type="add" issue="MATH-1265"> <!-- backported to 3.6 -->
+ "NeuronSquareMesh2D" (package "o.a.c.m.ml.neuralnet.twod") implements "Iterable".
+ </action>
<action dev="erans" type="add" issue="MATH-1264"> <!-- backported to 3.6 -->
"MapUtils" (package "o.a.c.m.ml.neuralnet"): Method to sort units according to distance
from a given vector.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/18a027b1/src/main/java/org/apache/commons/math4/ml/neuralnet/twod/NeuronSquareMesh2D.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/ml/neuralnet/twod/NeuronSquareMesh2D.java b/src/main/java/org/apache/commons/math4/ml/neuralnet/twod/NeuronSquareMesh2D.java
index d3c233b..17c7a26 100644
--- a/src/main/java/org/apache/commons/math4/ml/neuralnet/twod/NeuronSquareMesh2D.java
+++ b/src/main/java/org/apache/commons/math4/ml/neuralnet/twod/NeuronSquareMesh2D.java
@@ -41,7 +41,9 @@ import org.apache.commons.math4.ml.neuralnet.SquareNeighbourhood;
* @see org.apache.commons.math4.ml.neuralnet.sofm
* @since 3.3
*/
-public class NeuronSquareMesh2D implements Serializable {
+public class NeuronSquareMesh2D
+ implements Iterable<Neuron>,
+ Serializable {
/** Serial version ID */
private static final long serialVersionUID = 1L;
/** Underlying network. */
@@ -195,6 +197,11 @@ public class NeuronSquareMesh2D implements Serializable {
createLinks();
}
+ /** {@inheritDoc} */
+ public Iterator<Neuron> iterator() {
+ return network.iterator();
+ }
+
/**
* Retrieves the underlying network.
* A reference is returned (enabling, for example, the network to be
http://git-wip-us.apache.org/repos/asf/commons-math/blob/18a027b1/src/test/java/org/apache/commons/math4/ml/neuralnet/twod/NeuronSquareMesh2DTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/ml/neuralnet/twod/NeuronSquareMesh2DTest.java b/src/test/java/org/apache/commons/math4/ml/neuralnet/twod/NeuronSquareMesh2DTest.java
index a48a1ce..646ecf6 100644
--- a/src/test/java/org/apache/commons/math4/ml/neuralnet/twod/NeuronSquareMesh2DTest.java
+++ b/src/test/java/org/apache/commons/math4/ml/neuralnet/twod/NeuronSquareMesh2DTest.java
@@ -845,4 +845,30 @@ public class NeuronSquareMesh2DTest {
NeuronSquareMesh2D.HorizontalDirection.RIGHT,
NeuronSquareMesh2D.VerticalDirection.DOWN).getIdentifier());
}
+
+ @Test
+ public void testIterator() {
+ final FeatureInitializer[] initArray = { init };
+ final NeuronSquareMesh2D map = new NeuronSquareMesh2D(3, true,
+ 3, true,
+ SquareNeighbourhood.VON_NEUMANN,
+ initArray);
+ final Set<Neuron> fromMap = new HashSet<Neuron>();
+ for (Neuron n : map) {
+ fromMap.add(n);
+ }
+
+ final Network net = map.getNetwork();
+ final Set<Neuron> fromNet = new HashSet<Neuron>();
+ for (Neuron n : net) {
+ fromNet.add(n);
+ }
+
+ for (Neuron n : fromMap) {
+ Assert.assertTrue(fromNet.contains(n));
+ }
+ for (Neuron n : fromNet) {
+ Assert.assertTrue(fromMap.contains(n));
+ }
+ }
}