* The natively implemented method to create a C RngStream object.
*/
private native void create(String name);
- /**
- * Destructor
- */
+ @Override
protected void finalize() {
- destroy();
+ try {
+ nativeFinalize();
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
}
/**
* Release the C RngStream object
*/
- private native void destroy();
-
+ private native void nativeFinalize();
+
/**
* Sets the initial seed of the package RngStreams to the six integers in the vector seed. This will
* be the seed (initial state) of the first stream. If this procedure is not called, the default initial
*/
public native void setAntithetic(boolean a);
/**
- * Sets the initial seed Ig of stream g to the vector seed. This vector must satisfy the same
- * conditions as in setPackageSeed. The stream is then reset to this initial seed. The
- * states and seeds of the other streams are not modified. As a result, after calling this procedure,
- * the initial seeds of the streams are no longer spaced Z values apart. We discourage the use of
- * this procedure. Returns false for invalid seeds, and true otherwise.
+ * Sets the initial seed Ig of stream g to the vector seed. This vector must satisfy the same
+ * conditions as in setPackageSeed. The stream is then reset to this initial seed. The
+ * states and seeds of the other streams are not modified. As a result, after calling this procedure,
+ * the initial seeds of the streams are no longer spaced Z values apart. We discourage the use of
+ * this procedure. Returns false for invalid seeds, and true otherwise.
*/
public native boolean setSeed(int seed[]);
/**
- * Advances the state of the stream by k values, without modifying the states of other streams (as
- * in RngStream_SetSeed), nor the values of Bg and Ig associated with this stream. If e > 0, then
- * k = 2e + c; if e < 0, then k = -2-e + c; and if e = 0, then k = c. Note: c is allowed to take
- * negative values. We discourage the use of this procedure.
- */
+ * Advances the state of the stream by k values, without modifying the states of other streams (as
+ * in RngStream_SetSeed), nor the values of Bg and Ig associated with this stream. If e > 0, then
+ * k = 2e + c; if e < 0, then k = -2-e + c; and if e = 0, then k = c. Note: c is allowed to take
+ * negative values. We discourage the use of this procedure.
+ */
public native void advanceState(int e, int g);
-
+
/**
* Returns a (pseudo)random number from the uniform distribution over the interval (0, 1), after advancing the state by one step. The returned number has 32 bits of precision
* in the sense that it is always a multiple of 1/(232 - 208), unless RngStream_IncreasedPrecis
* {i, i + 1, . . . , j}
*/
public native int randInt(int i, int j);
-
+
/**
* Class initializer, to initialize various JNI stuff
*/
public static native void nativeInit();
static {
- Msg.nativeInit();
+ org.simgrid.NativeLib.nativeInit();
nativeInit();
}
-}
\ No newline at end of file
+}