X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/49e85177c669d793e84242983a1b1f430e47184e..895710d49f77179d9893bc76b3e31b69fae638af:/src/bindings/java/org/simgrid/msg/RngStream.java diff --git a/src/bindings/java/org/simgrid/msg/RngStream.java b/src/bindings/java/org/simgrid/msg/RngStream.java index 6d5638c0f1..1fb6085839 100644 --- a/src/bindings/java/org/simgrid/msg/RngStream.java +++ b/src/bindings/java/org/simgrid/msg/RngStream.java @@ -1,6 +1,6 @@ /* JNI interface to C RngStream code */ -/* Copyright (c) 2006-2014. The SimGrid Team. +/* Copyright (c) 2006-2018. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -16,7 +16,7 @@ public class RngStream { */ private long bind; /** - * Creates and returns a new stream without identifier. + * Creates and returns a new stream without identifier. * This procedure reserves space to keep the information relative to * the RngStream, initializes its seed Ig , sets Bg and Cg equal to Ig , sets its antithetic and * precision switches to 0. The seed Ig is equal to the initial seed of the package given by @@ -27,7 +27,7 @@ public class RngStream { create(""); } /** - * Creates and returns a new stream with identifier "name". + * Creates and returns a new stream with identifier "name". * This procedure reserves space to keep the information relative to * the RngStream, initializes its seed Ig , sets Bg and Cg equal to Ig , sets its antithetic and * precision switches to 0. The seed Ig is equal to the initial seed of the package given by @@ -41,17 +41,16 @@ public class RngStream { * The natively implemented method to create a C RngStream object. */ private native void create(String name); - /** - * Destructor - */ - protected void finalize() { - destroy(); + + @Override + protected void finalize() throws Throwable{ + nativeFinalize(); } /** * 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 @@ -59,7 +58,7 @@ public class RngStream { * must all be less than m1 = 4294967087, and not all 0; and the last 3 values must all be less * than m2 = 4294944443, and not all 0. Returns false for invalid seeds, and true otherwise. */ - public static native boolean setPackageSeed(int seed[]); + public static native boolean setPackageSeed(int[] seed); /** * Reinitializes the stream g to its initial state: Cg and Bg are set to Ig . */ @@ -79,21 +78,21 @@ public class RngStream { */ 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[]); + 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 @@ -105,13 +104,13 @@ public class RngStream { * {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 +}