X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b745e5b5a5f85947c7e08266c6dbdbbf9f563918..4bcadecc3433af21a252c837673a4949c50d4e32:/src/xbt/RngStream.c diff --git a/src/xbt/RngStream.c b/src/xbt/RngStream.c index fb811439bd..2608d16c7f 100644 --- a/src/xbt/RngStream.c +++ b/src/xbt/RngStream.c @@ -346,6 +346,27 @@ void RngStream_DeleteStream (RngStream * p) /*-------------------------------------------------------------------------*/ +RngStream RngStream_CopyStream (const RngStream src) +{ + RngStream g; + + if(src == NULL) { + printf ("RngStream_CopyStream: 'src' not initialized\n\n"); + exit (EXIT_FAILURE); + } + + g = (RngStream) malloc (sizeof (struct RngStream_InfoState)); + if (g == NULL) { + printf ("RngStream_CopyStream: No more memory\n\n"); + exit (EXIT_FAILURE); + } + memcpy((void*) g, (void*) src, sizeof (struct RngStream_InfoState)); + + return g; +} + +/*-------------------------------------------------------------------------*/ + void RngStream_ResetStartStream (RngStream g) { int i; @@ -517,3 +538,15 @@ int RngStream_RandInt (RngStream g, int i, int j) { return i + (int) ((j - i + 1.0) * RngStream_RandU01 (g)); } + +/* Undefine this terms, or supernovae build will fail. */ +#undef norm +#undef m1 +#undef m2 +#undef a12 +#undef a13n +#undef a21 +#undef a23n +#undef two17 +#undef two53 +#undef fact