Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Window doesn't provide the function drand48(), remove useless break and add extern...
authorcherierm <cherierm@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 5 Dec 2007 13:47:51 +0000 (13:47 +0000)
committercherierm <cherierm@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 5 Dec 2007 13:47:51 +0000 (13:47 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@5112 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/include/surf/random_mgr.h
src/surf/random_mgr.c

index 7233e71..6ef40d9 100644 (file)
@@ -7,6 +7,8 @@
 #include <math.h>
 #include <stdio.h>
 
+SG_BEGIN_DECL()
+
 typedef enum {NONE, DRAND48, RAND} Generator;
 
 typedef struct random_data_desc {
@@ -19,4 +21,6 @@ XBT_PUBLIC_DATA(xbt_dict_t) random_data_list;
 XBT_PUBLIC(float) random_generate(random_data_t random);
 XBT_PUBLIC(random_data_t) random_new(int generator, int min, int max, int mean, int stdDeviation);
 
+SG_END_DECL()
+
 #endif                         /* _SURF_RMGR_H */
index 4c9cb5f..6249e33 100644 (file)
@@ -2,11 +2,19 @@
 #include "surf/random_mgr.h"
 #include "xbt/sysdep.h"
 
+#ifdef WIN32
+static double drand48(void)
+{
+       return rand()/(double)RAND_MAX;
+}
+#endif
+
 static double custom_random(int generator){
    switch(generator) {
-      case DRAND48: return drand48(); break;
-      case RAND: return (double)rand()/RAND_MAX; break;
-      default: return drand48();
+      
+       case DRAND48:return drand48();  
+       case RAND: return (double)rand()/RAND_MAX; 
+   default: return drand48();
    }
 }