From 72bdbf81a3dadb1338ae8743d2410842ff04948f Mon Sep 17 00:00:00 2001 From: cherierm Date: Wed, 5 Dec 2007 13:47:51 +0000 Subject: [PATCH] Window doesn't provide the function drand48(), remove useless break and add extern C declarations for C++ compilers 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 | 4 ++++ src/surf/random_mgr.c | 14 +++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/include/surf/random_mgr.h b/src/include/surf/random_mgr.h index 7233e715b7..6ef40d9c24 100644 --- a/src/include/surf/random_mgr.h +++ b/src/include/surf/random_mgr.h @@ -7,6 +7,8 @@ #include #include +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 */ diff --git a/src/surf/random_mgr.c b/src/surf/random_mgr.c index 4c9cb5f518..6249e33f47 100644 --- a/src/surf/random_mgr.c +++ b/src/surf/random_mgr.c @@ -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(); } } -- 2.20.1