Method signature (trivial change). Order of arguments more consistent with other sampler classes.
Project: http://git-wip-us.apache.org/repos/asf/commons-rng/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-rng/commit/588aef48 Tree: http://git-wip-us.apache.org/repos/asf/commons-rng/tree/588aef48 Diff: http://git-wip-us.apache.org/repos/asf/commons-rng/diff/588aef48 Branch: refs/heads/master Commit: 588aef48c6ca88395de92560fcedeae145bcc803 Parents: f7925ec Author: Gilles <er...@apache.org> Authored: Mon Nov 21 15:11:27 2016 +0100 Committer: Gilles <er...@apache.org> Committed: Mon Nov 21 15:11:27 2016 +0100 ---------------------------------------------------------------------- .../commons/rng/sampling/ListSampler.java | 20 ++++++++++---------- .../rng/sampling/PermutationSampler.java | 20 ++++++++++---------- .../commons/rng/sampling/ListSamplerTest.java | 4 ++-- .../rng/sampling/PermutationSamplerTest.java | 6 +++--- 4 files changed, 25 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-rng/blob/588aef48/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/ListSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/ListSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/ListSampler.java index 9947dce..c95492f 100644 --- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/ListSampler.java +++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/ListSampler.java @@ -70,15 +70,15 @@ public class ListSampler { /** * Shuffles the entries of the given array. * - * @see #shuffle(List,int,boolean,UniformRandomProvider) + * @see #shuffle(UniformRandomProvider,List,int,boolean) * * @param <T> Type of the list items. - * @param list List whose entries will be shuffled (in-place). * @param rng Random number generator. + * @param list List whose entries will be shuffled (in-place). */ - public static <T> void shuffle(List<T> list, - UniformRandomProvider rng) { - shuffle(list, 0, false, rng); + public static <T> void shuffle(UniformRandomProvider rng, + List<T> list) { + shuffle(rng, list, 0, false); } /** @@ -89,20 +89,20 @@ public class ListSampler { * of the array is randomized and which is left untouched. * * @param <T> Type of the list items. + * @param rng Random number generator. * @param list List whose entries will be shuffled (in-place). * @param start Index at which shuffling begins. * @param towardHead Shuffling is performed for index positions between * {@code start} and either the end (if {@code false}) or the beginning * (if {@code true}) of the array. - * @param rng Random number generator. */ - public static <T> void shuffle(List<T> list, + public static <T> void shuffle(UniformRandomProvider rng, + List<T> list, int start, - boolean towardHead, - UniformRandomProvider rng) { + boolean towardHead) { final int len = list.size(); final int[] indices = PermutationSampler.natural(len); - PermutationSampler.shuffle(indices, start, towardHead, rng); + PermutationSampler.shuffle(rng, indices, start, towardHead); final ArrayList<T> items = new ArrayList<T>(list); for (int i = 0; i < len; i++) { http://git-wip-us.apache.org/repos/asf/commons-rng/blob/588aef48/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/PermutationSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/PermutationSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/PermutationSampler.java index aea08f0..253b3c6 100644 --- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/PermutationSampler.java +++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/PermutationSampler.java @@ -73,21 +73,21 @@ public class PermutationSampler { * @see #PermutationSampler(UniformRandomProvider,int,int) */ public int[] sample() { - shuffle(domain, rng); + shuffle(rng, domain); return Arrays.copyOf(domain, size); } /** * Shuffles the entries of the given array. * - * @see #shuffle(int[],int,boolean,UniformRandomProvider) + * @see #shuffle(UniformRandomProvider,int[],int,boolean) * - * @param list Array whose entries will be shuffled (in-place). * @param rng Random number generator. + * @param list Array whose entries will be shuffled (in-place). */ - public static void shuffle(int[] list, - UniformRandomProvider rng) { - shuffle(list, 0, false, rng); + public static void shuffle(UniformRandomProvider rng, + int[] list) { + shuffle(rng, list, 0, false); } /** @@ -97,17 +97,17 @@ public class PermutationSampler { * The {@code start} and {@code pos} parameters select which part * of the array is randomized and which is left untouched. * + * @param rng Random number generator. * @param list Array whose entries will be shuffled (in-place). * @param start Index at which shuffling begins. * @param towardHead Shuffling is performed for index positions between * {@code start} and either the end (if {@code false}) or the beginning * (if {@code true}) of the array. - * @param rng Random number generator. */ - public static void shuffle(int[] list, + public static void shuffle(UniformRandomProvider rng, + int[] list, int start, - boolean towardHead, - UniformRandomProvider rng) { + boolean towardHead) { if (towardHead) { for (int i = 0; i <= start; i++) { final int target; http://git-wip-us.apache.org/repos/asf/commons-rng/blob/588aef48/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/ListSamplerTest.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/ListSamplerTest.java b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/ListSamplerTest.java index 652f8bb..5799357 100644 --- a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/ListSamplerTest.java +++ b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/ListSamplerTest.java @@ -103,7 +103,7 @@ public class ListSamplerTest { final List<Integer> list = new ArrayList<Integer>(orig); final int start = 4; - ListSampler.shuffle(list, start, false, rng); + ListSampler.shuffle(rng, list, start, false); // Ensure that all entries below index "start" did not move. for (int i = 0; i < start; i++) { @@ -130,7 +130,7 @@ public class ListSamplerTest { final List<Integer> list = new ArrayList<Integer>(orig); final int start = 4; - ListSampler.shuffle(list, start, true, rng); + ListSampler.shuffle(rng, list, start, true); // Ensure that all entries above index "start" did not move. for (int i = start + 1; i < orig.size(); i++) { http://git-wip-us.apache.org/repos/asf/commons-rng/blob/588aef48/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/PermutationSamplerTest.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/PermutationSamplerTest.java b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/PermutationSamplerTest.java index c91218d..a299f2c 100644 --- a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/PermutationSamplerTest.java +++ b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/PermutationSamplerTest.java @@ -130,7 +130,7 @@ public class PermutationSamplerTest { public void testShuffleNoDuplicates() { final int n = 100; final int[] orig = PermutationSampler.natural(n); - PermutationSampler.shuffle(orig, rng); + PermutationSampler.shuffle(rng, orig); // Test that all (unique) entries exist in the shuffled array. final int[] count = new int[n]; @@ -148,7 +148,7 @@ public class PermutationSamplerTest { final int[] orig = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; final int[] list = orig.clone(); final int start = 4; - PermutationSampler.shuffle(list, start, false, rng); + PermutationSampler.shuffle(rng, list, start, false); // Ensure that all entries below index "start" did not move. for (int i = 0; i < start; i++) { @@ -171,7 +171,7 @@ public class PermutationSamplerTest { final int[] orig = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; final int[] list = orig.clone(); final int start = 4; - PermutationSampler.shuffle(list, start, true, rng); + PermutationSampler.shuffle(rng, list, start, true); // Ensure that all entries above index "start" did not move. for (int i = start + 1; i < orig.length; i++) {