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 2013/08/25 19:06:55 UTC
svn commit: r1517338 -
/commons/proper/math/trunk/src/test/java/org/apache/commons/math3/util/CombinatoricsUtilsTest.java
Author: erans
Date: Sun Aug 25 17:06:55 2013
New Revision: 1517338
URL: http://svn.apache.org/r1517338
Log:
Extending the validity range of the check.
Modified:
commons/proper/math/trunk/src/test/java/org/apache/commons/math3/util/CombinatoricsUtilsTest.java
Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math3/util/CombinatoricsUtilsTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math3/util/CombinatoricsUtilsTest.java?rev=1517338&r1=1517337&r2=1517338&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math3/util/CombinatoricsUtilsTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math3/util/CombinatoricsUtilsTest.java Sun Aug 25 17:06:55 2013
@@ -379,6 +379,9 @@ public class CombinatoricsUtilsTest {
combinationsIterator = CombinatoricsUtils.combinationsIterator(0, 0);
checkIterator(combinationsIterator, 0, 0);
combinationsIterator = CombinatoricsUtils.combinationsIterator(4, 2);
+ checkIterator(combinationsIterator, 4, 2);
+ combinationsIterator = CombinatoricsUtils.combinationsIterator(123, 2);
+ checkIterator(combinationsIterator, 123, 2);
}
/**
@@ -386,8 +389,6 @@ public class CombinatoricsUtilsTest {
* increasing sequence of b(n,k) arrays, each having length k
* and each array itself increasing.
*
- * Note: the lexicographic order check only works for n < 10.
- *
* @param iterator
* @param n size of universe
* @param k size of subsets
@@ -398,7 +399,7 @@ public class CombinatoricsUtilsTest {
while (iterator.hasNext()) {
final int[] iterate = iterator.next();
Assert.assertEquals(k, iterate.length);
- final long curLex = lexNorm(iterate);
+ final long curLex = lexNorm(iterate, n);
Assert.assertTrue(curLex > lastLex);
lastLex = curLex;
length++;
@@ -431,12 +432,13 @@ public class CombinatoricsUtilsTest {
* For example [3,2,1] returns 123.
*
* @param iterate input array
+ * @param n size of universe
* @return lexicographic norm
*/
- private long lexNorm(int[] iterate) {
+ private long lexNorm(int[] iterate, int n) {
long ret = 0;
for (int i = iterate.length - 1; i >= 0; i--) {
- ret += iterate[i] * ArithmeticUtils.pow(10l, (long) i);
+ ret += iterate[i] * ArithmeticUtils.pow(n, (long) i);
}
return ret;
}