-/* $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" /* BEGIN_DECL */
-
-BEGIN_DECL()
+#include "xbt/misc.h" /* SG_BEGIN_DECL */
+SG_BEGIN_DECL()
/** @addtogroup GRAS_emul
* @brief Code execution "emulation" and "virtualization".
*
* 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):
+ * to do (if it does not match your personal beliefs, I'm sorry):
*
* - Virtualization: Having some specific code for the simulation or for the reality
* - Emulation: Report within the simulator the execution time of your code
*
* @{
*/
-
/** \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()
-/** @} */
-
-END_DECL()
-#endif /* GRAS_COND_H */
+XBT_PUBLIC(void) gras_cpu_burn(double flops);
+/** @} */
+SG_END_DECL()
+#endif /* GRAS_COND_H */