Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add a function to copy a RngStream structure
authorjbrv <jean-baptiste.herve@esial.net>
Mon, 11 Jun 2012 12:31:55 +0000 (14:31 +0200)
committerjbrv <jean-baptiste.herve@esial.net>
Mon, 11 Jun 2012 12:43:47 +0000 (14:43 +0200)
include/xbt/RngStream.h
src/xbt/RngStream.c

index a2ca811..e9b8ef3 100644 (file)
@@ -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);
 
 
index 494f9de..2608d16 100644 (file)
@@ -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;