From: jbrv Date: Mon, 11 Jun 2012 12:31:55 +0000 (+0200) Subject: Add a function to copy a RngStream structure X-Git-Tag: v3_8~641^2~8 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/cd04ab60bef9c99a3c4c810d3986aa9a179ff83b Add a function to copy a RngStream structure --- diff --git a/include/xbt/RngStream.h b/include/xbt/RngStream.h index a2ca8117de..e9b8ef33c7 100644 --- a/include/xbt/RngStream.h +++ b/include/xbt/RngStream.h @@ -24,6 +24,9 @@ XBT_PUBLIC(RngStream) RngStream_CreateStream (const char name[]); XBT_PUBLIC(void) RngStream_DeleteStream (RngStream *pg); +XBT_PUBLIC(RngStream) RngStream_CopyStream (const RngStream src); + + XBT_PUBLIC(void) RngStream_ResetStartStream (RngStream g); diff --git a/src/xbt/RngStream.c b/src/xbt/RngStream.c index 494f9deeac..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;