|
@@ -35,20 +35,26 @@ extern "C"
|
|
|
#ifdef STARPU_USE_DRAND48
|
|
|
# define starpu_srand48(seed) srand48(starpu_seed(seed))
|
|
|
# define starpu_drand48() drand48()
|
|
|
+# define starpu_lrand48() lrand48()
|
|
|
# define starpu_erand48(xsubi) erand48(xsubi)
|
|
|
# ifdef STARPU_USE_ERAND48_R
|
|
|
typedef struct drand48_data starpu_drand48_data;
|
|
|
# define starpu_srand48_r(seed, buffer) srand48_r(starpu_seed(seed), buffer)
|
|
|
+# define starpu_drand48_r(buffer, result) drand48_r(buffer, result)
|
|
|
+# define starpu_lrand48_r(buffer, result) lrand48_r(buffer, result)
|
|
|
# define starpu_erand48_r(xsubi, buffer, result) erand48_r(xsubi, buffer, result)
|
|
|
#else
|
|
|
typedef int starpu_drand48_data;
|
|
|
# define starpu_srand48_r(seed, buffer) srand48(starpu_seed(seed))
|
|
|
+# define starpu_drand48_r(buffer, result) do {*(result) = drand48(); } while (0)
|
|
|
+# define starpu_lrand48_r(buffer, result) do {*(result) = lrand48(); } while (0)
|
|
|
# define starpu_erand48_r(xsubi, buffer, result) do {*(result) = erand48(xsubi); } while (0)
|
|
|
# endif
|
|
|
#else
|
|
|
typedef int starpu_drand48_data;
|
|
|
# define starpu_srand48(seed) srand(starpu_seed(seed))
|
|
|
# define starpu_drand48() (double)(rand()) / RAND_MAX
|
|
|
+# define starpu_lrand48() rand()
|
|
|
# define starpu_erand48(xsubi) starpu_drand48()
|
|
|
# define starpu_srand48_r(seed, buffer) srand(starpu_seed(seed))
|
|
|
# define starpu_erand48_r(xsubi, buffer, result) do {*(result) = ((double)(rand()) / RAND_MAX);} while (0)
|