You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by tn...@apache.org on 2013/05/28 17:23:06 UTC
svn commit: r1486967 -
/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/random/SobolSequenceGenerator.java
Author: tn
Date: Tue May 28 15:23:05 2013
New Revision: 1486967
URL: http://svn.apache.org/r1486967
Log:
Fix some findbugs warnings wrt input streams.
Modified:
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/random/SobolSequenceGenerator.java
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/random/SobolSequenceGenerator.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/random/SobolSequenceGenerator.java?rev=1486967&r1=1486966&r2=1486967&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math3/random/SobolSequenceGenerator.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math3/random/SobolSequenceGenerator.java Tue May 28 15:23:05 2013
@@ -20,6 +20,7 @@ import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.nio.charset.Charset;
import java.util.Arrays;
import java.util.NoSuchElementException;
import java.util.StringTokenizer;
@@ -67,6 +68,9 @@ public class SobolSequenceGenerator impl
/** The resource containing the direction numbers. */
private static final String RESOURCE_NAME = "/assets/org/apache/commons/math3/random/new-joe-kuo-6.1000";
+ /** Character set for file input. */
+ private static final String FILE_CHARSET = "US-ASCII";
+
/** Space dimension. */
private final int dimension;
@@ -110,6 +114,12 @@ public class SobolSequenceGenerator impl
} catch (MathParseException e) {
// the internal resource file could not be parsed -> should not happen
throw new MathInternalError();
+ } finally {
+ try {
+ is.close();
+ } catch (IOException e) { // NOPMD
+ // ignore
+ }
}
}
@@ -133,6 +143,8 @@ public class SobolSequenceGenerator impl
* 2 1 0 1
* 3 2 1 1 3
* </pre>
+ * <p>
+ * The input stream <i>must</i> be an ASCII text containing one valid direction vector per line.
*
* @param dimension the space dimension
* @param is the stream to read the direction vectors from
@@ -164,6 +176,9 @@ public class SobolSequenceGenerator impl
/**
* Load the direction vector for each dimension from the given stream.
+ * <p>
+ * The input stream <i>must</i> be an ASCII text containing one
+ * valid direction vector per line.
*
* @param is the input stream to read the direction vector from
* @return the last dimension that has been read from the input stream
@@ -177,7 +192,8 @@ public class SobolSequenceGenerator impl
direction[0][i] = 1l << (BITS - i);
}
- final BufferedReader reader = new BufferedReader(new InputStreamReader(is));
+ final Charset charset = Charset.forName(FILE_CHARSET);
+ final BufferedReader reader = new BufferedReader(new InputStreamReader(is, charset));
int dim = -1;
try {