* under the terms of the license (GNU LGPL) which comes with this package. */
#include "cpu_ti.hpp"
-#include "trace_mgr_private.h"
#include "xbt/heap.h"
+#include "src/surf/trace_mgr.hpp"
#include "src/surf/platform.hpp"
#ifndef SURF_MODEL_CPUTI_H_
#include <xbt/base.h>
-#include "cpu_interface.hpp"
-#include "trace_mgr_private.h"
+#include "src/surf/cpu_interface.hpp"
+#include "src/surf/trace_mgr.hpp"
#include "surf/surf_routing.h"
/* Epsilon */
#include <xbt/signal.hpp>
-#include "surf/trace_mgr.h"
#include "xbt/lib.h"
#include "surf/surf_routing.h"
#include "simgrid/platf_interface.h"
#include "surf/surf.h"
#include "src/surf/surf_private.h"
+#include "src/surf/trace_mgr.hpp"
#include "src/internal_config.h"
extern XBT_PRIVATE tmgr_fes_t history;
#include "surf/surf.h"
#include "surf/maxmin.h"
-#include "surf/trace_mgr.h"
#include "xbt/log.h"
#include "surf/surfxml_parse.h"
#include "surf/random_mgr.h"
+#include "src/surf/trace_mgr.hpp"
#include "src/instr/instr_private.h"
#include "surf/surfxml_parse_values.h"
#include "xbt/log.h"
#include "xbt/str.h"
#include "xbt/dict.h"
-#include "trace_mgr_private.h"
+#include "src/surf/trace_mgr.hpp"
#include "surf_private.h"
#include "xbt/RngStream.h"
#include <math.h>
static xbt_dict_t trace_list = NULL;
-XBT_INLINE tmgr_fes_t tmgr_history_new(void)
+tmgr_fes_t tmgr_history_new(void)
{
tmgr_fes_t h;
return h;
}
-XBT_INLINE void tmgr_history_free(tmgr_fes_t h)
+void tmgr_history_free(tmgr_fes_t h)
{
xbt_heap_free(h->heap);
free(h);
char *val;
if (trace_list) {
- trace = xbt_dict_get_or_null(trace_list, id);
+ trace = (tmgr_trace_t)xbt_dict_get_or_null(trace_list, id);
if (trace) {
XBT_WARN("Ignoring redefinition of trace %s", id);
return trace;
}
}
xbt_dynar_push(trace->s_list.event_list, &event);
- last_event =
- xbt_dynar_get_ptr(trace->s_list.event_list,
- xbt_dynar_length(trace->s_list.event_list) - 1);
+ last_event = (tmgr_event_t)xbt_dynar_get_ptr(trace->s_list.event_list, xbt_dynar_length(trace->s_list.event_list) - 1);
}
if (last_event)
last_event->delta = periodicity;
return NULL;
if (trace_list) {
- trace = xbt_dict_get_or_null(trace_list, filename);
+ trace = (tmgr_trace_t)xbt_dict_get_or_null(trace_list, filename);
if (trace) {
XBT_WARN("Ignoring redefinition of trace %s", filename);
return trace;
return trace;
}
-XBT_INLINE void tmgr_trace_free(tmgr_trace_t trace)
+void tmgr_trace_free(tmgr_trace_t trace)
{
if (!trace)
return;
if (event_date > date)
return NULL;
- if (!(trace_iterator = xbt_heap_pop(h->heap)))
+ if (!(trace_iterator = (tmgr_trace_iterator_t)xbt_heap_pop(h->heap)))
return NULL;
trace = trace_iterator->trace;
switch(trace->type) {
case e_trace_list:
- event = xbt_dynar_get_ptr(trace->s_list.event_list, trace_iterator->idx);
+ event = (tmgr_event_t)xbt_dynar_get_ptr(trace->s_list.event_list, trace_iterator->idx);
*value = event->value;
return trace_iterator;
}
-XBT_INLINE void tmgr_finalize(void)
+void tmgr_finalize(void)
{
xbt_dict_free(&trace_list);
}
#include "simgrid/platf_interface.h"
SG_BEGIN_DECL()
+#include "xbt/base.h"
+#include "xbt/swag.h"
+#include "xbt/heap.h"
+#include "trace_mgr.hpp"
+#include "xbt/RngStream.h"
+
+typedef struct tmgr_event {
+ double delta;
+ double value;
+} s_tmgr_event_t, *tmgr_event_t;
+
+enum e_trace_type {
+ e_trace_list, e_trace_probabilist
+};
+
+enum e_event_generator_type {
+ e_generator_uniform, e_generator_exponential, e_generator_weibull
+};
+
+typedef struct probabilist_event_generator {
+ enum e_event_generator_type type;
+ RngStream rng_stream;
+ double next_value;
+ union {
+ struct {
+ double min;
+ double max;
+ } s_uniform_parameters;
+ struct {
+ double rate;
+ } s_exponential_parameters;
+ struct {
+ double scale;
+ double shape;
+ } s_weibull_parameters;
+ };
+} s_probabilist_event_generator_t;
+
+typedef struct tmgr_trace {
+ enum e_trace_type type;
+ union {
+ struct {
+ xbt_dynar_t event_list;
+ } s_list;
+ struct {
+ probabilist_event_generator_t event_generator[2];
+ int is_state_trace;
+ int next_event;
+ } s_probabilist;
+ };
+} s_tmgr_trace_t;
+
+/* Iterator within a trace */
+typedef struct tmgr_trace_iterator {
+ tmgr_trace_t trace;
+ unsigned int idx;
+ void *resource;
+ int free_me;
+} s_tmgr_trace_event_t;
+
+/* Future Event Set (collection of iterators over the traces)
+ * That's useful to quickly know which is the next occurring event in a set of traces. */
+typedef struct tmgr_fes {
+ xbt_heap_t heap; /* Content: only trace_events */
+} s_tmgr_history_t;
+
+XBT_PRIVATE double tmgr_event_generator_next_value(probabilist_event_generator_t generator);
/* Creation functions */
XBT_PUBLIC(tmgr_fes_t) tmgr_history_new(void);
+++ /dev/null
-/* Copyright (c) 2004, 2007, 2009-2010, 2012-2014. 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 _SURF_TMGR_PRIVATE_H
-#define _SURF_TMGR_PRIVATE_H
-
-#include "xbt/base.h"
-#include "xbt/swag.h"
-#include "xbt/heap.h"
-#include "surf/trace_mgr.h"
-#include "xbt/RngStream.h"
-
-typedef struct tmgr_event {
- double delta;
- double value;
-} s_tmgr_event_t, *tmgr_event_t;
-
-enum e_trace_type {
- e_trace_list, e_trace_probabilist
-};
-
-enum e_event_generator_type {
- e_generator_uniform, e_generator_exponential, e_generator_weibull
-};
-
-typedef struct probabilist_event_generator {
- enum e_event_generator_type type;
- RngStream rng_stream;
- double next_value;
- union {
- struct {
- double min;
- double max;
- } s_uniform_parameters;
- struct {
- double rate;
- } s_exponential_parameters;
- struct {
- double scale;
- double shape;
- } s_weibull_parameters;
- };
-} s_probabilist_event_generator_t;
-
-typedef struct tmgr_trace {
- enum e_trace_type type;
- union {
- struct {
- xbt_dynar_t event_list;
- } s_list;
- struct {
- probabilist_event_generator_t event_generator[2];
- int is_state_trace;
- int next_event;
- } s_probabilist;
- };
-} s_tmgr_trace_t;
-
-/* Iterator within a trace */
-typedef struct tmgr_trace_iterator {
- tmgr_trace_t trace;
- unsigned int idx;
- void *resource;
- int free_me;
-} s_tmgr_trace_event_t;
-
-/* Future Event Set (collection of iterators over the traces)
- * That's useful to quickly know which is the next occurring event in a set of traces. */
-typedef struct tmgr_fes {
- xbt_heap_t heap; /* Content: only trace_events */
-} s_tmgr_history_t;
-
-XBT_PRIVATE double tmgr_event_generator_next_value(probabilist_event_generator_t generator);
-
-#endif /* _SURF_TMGR_PRIVATE_H */
set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-add_executable(trace_usage ${CMAKE_HOME_DIRECTORY}/teshsuite/surf/trace_usage/trace_usage.c)
+add_executable(trace_usage ${CMAKE_HOME_DIRECTORY}/teshsuite/surf/trace_usage/trace_usage.cpp)
### Add definitions for compile
if(NOT WIN32)
- target_link_libraries(trace_usage simgrid m )
+ target_link_libraries(trace_usage simgrid m)
else()
target_link_libraries(trace_usage simgrid )
endif()
)
set(testsuite_src
${testsuite_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/trace_usage.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/trace_usage.cpp
PARENT_SCOPE
)
set(bin_files
/* 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. */
-#include "surf/trace_mgr.h"
#include "surf/surf.h"
#include "xbt/log.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
+#include "src/surf/trace_mgr.hpp"
XBT_LOG_NEW_DEFAULT_CATEGORY(surf_test,
"Messages specific for surf example");
-void test(void);
-void test(void)
+static void test(void)
{
tmgr_fes_t history = tmgr_history_new();
tmgr_trace_t trace_A = tmgr_trace_new_from_file("trace_A.txt");
src/include/surf/random_mgr.h
src/include/surf/surf.h
src/include/surf/surfxml_parse_values.h
- src/include/surf/trace_mgr.h
src/include/xbt/win32_ucontext.h
src/include/xbt/wine_dbghelp.h
src/msg/msg_mailbox.h
src/surf/surf_routing_private.hpp
src/surf/surf_routing_vivaldi.hpp
src/surf/surfxml_parse.c
- src/surf/trace_mgr_private.h
src/surf/vm_hl13.hpp
src/surf/PropertyHolder.hpp
src/surf/virtual_machine.hpp
src/surf/surf_routing_vivaldi.cpp
src/surf/surfxml_parse.c
src/surf/surfxml_parseplatf.c
- src/surf/trace_mgr.c
+ src/surf/trace_mgr.hpp
+ src/surf/trace_mgr.cpp
src/surf/vm_hl13.cpp
src/surf/virtual_machine.cpp
src/surf/host_clm03.cpp