-/* $Id$ */
-
/* gras/emul.h - public interface to emulation support */
/* (specific parts for SG or RL) */
-
-/* Copyright (c) 2003, 2004 Martin Quinson. All rights reserved. */
+
+/* Copyright (c) 2005, 2006, 2007, 2009, 2010. The SimGrid Team.
+ * All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
#ifndef GRAS_COND_H
#define GRAS_COND_H
-#include "xbt/misc.h" /* SG_BEGIN_DECL */
+#include "xbt/misc.h" /* SG_BEGIN_DECL */
SG_BEGIN_DECL()
-
/** @addtogroup GRAS_emul
* @brief Code execution "emulation" and "virtualization".
*
- * <center><table><tr><td><b>Top</b> <td> [\ref index]::[\ref GRAS_API]
- * <tr><td><b>Prev</b> <td> [\ref GRAS_globals]
- * <tr><td><b>Next</b> <td> [\ref GRAS_main_generation] </table></center>
- *
* Emulation and virtualization words have a lot of different meanings in
* computer science. Here is what we mean, and what this module allows you
* to do (if it does not match your personal belives, I'm sorry):
*
* @{
*/
-
/** \brief Returns true only if the program runs on real life */
-int gras_if_RL(void);
+XBT_PUBLIC(int) gras_if_RL(void);
/** \brief Returns true only if the program runs within the simulator */
-int gras_if_SG(void);
+XBT_PUBLIC(int) gras_if_SG(void);
/** @} */
-int gras_bench_always_begin(const char *location, int line);
-int gras_bench_always_end(void);
-int gras_bench_once_begin(const char *location, int line);
-int gras_bench_once_end(void);
+XBT_PUBLIC(int) gras_bench_always_begin(const char *location, int line);
+XBT_PUBLIC(int) gras_bench_always_end(void);
+XBT_PUBLIC(int) gras_bench_once_begin(const char *location, int line);
+XBT_PUBLIC(int) gras_bench_once_end(void);
/** @addtogroup GRAS_emul
* \section GRAS_emul_timing Emulation
/** \brief Start benchmarking this code block if it has never been benchmarked, ignore it if it was
\hideinitializer */
-#define GRAS_BENCH_ONCE_RUN_ONCE_BEGIN() if (gras_bench_once_begin(__FILE__, __LINE__)) {
+#define GRAS_BENCH_ONCE_RUN_ONCE_BEGIN() if (gras_bench_once_begin(__FILE__, __LINE__)) {
/** \brief Stop benchmarking this part of the code
\hideinitializer */
#define GRAS_BENCH_ONCE_RUN_ONCE_END() } gras_bench_once_end()
+
+XBT_PUBLIC(void) gras_cpu_burn(double flops);
/** @} */
SG_END_DECL()
-
-#endif /* GRAS_COND_H */
-
+#endif /* GRAS_COND_H */