-/* Copyright (c) 2004-2012. The SimGrid Team.
+/* Copyright (c) 2004-2014. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
#ifndef _SURF_MAXMIN_PRIVATE_H
#define _SURF_MAXMIN_PRIVATE_H
+#include <xbt/base.h>
+
#include "surf/maxmin.h"
#include "xbt/swag.h"
#include "xbt/mallocator.h"
#include "surf_interface.hpp"
+/** @ingroup SURF_lmm
+ * @brief LMM element
+ */
typedef struct lmm_element {
/* hookup to constraint */
s_xbt_swag_hookup_t element_set_hookup;
lmm_constraint_t cnst;
} s_lmm_constraint_light_t;
+/** @ingroup SURF_lmm
+ * @brief LMM constraint
+ */
typedef struct lmm_constraint {
/* hookup to system */
s_xbt_swag_hookup_t constraint_set_hookup;
lmm_constraint_light_t cnst_light;
} s_lmm_constraint_t;
+/** @ingroup SURF_lmm
+ * @brief LMM variable
+ */
typedef struct lmm_variable {
/* hookup to system */
s_xbt_swag_hookup_t variable_set_hookup;
/* \end{For Lagrange only} */
} s_lmm_variable_t;
+/** @ingroup SURF_lmm
+ * @brief LMM system
+ */
typedef struct lmm_system {
int modified;
int selective_update_active; /* flag to update partially the system only selecting changed portions */
do { xbt_swag_remove(cnst, &sys->active_constraint_set); \
xbt_swag_remove(cnst, &sys->modified_constraint_set); } while (0)
-void lmm_print(lmm_system_t sys);
+/** @ingroup SURF_lmm
+ * @brief Print informations about a lmm system
+ *
+ * @param sys A lmm system
+ */
+XBT_PRIVATE void lmm_print(lmm_system_t sys);
-extern double (*func_f_def) (lmm_variable_t, double);
-extern double (*func_fp_def) (lmm_variable_t, double);
-extern double (*func_fpi_def) (lmm_variable_t, double);
+extern XBT_PRIVATE double (*func_f_def) (lmm_variable_t, double);
+extern XBT_PRIVATE double (*func_fp_def) (lmm_variable_t, double);
+extern XBT_PRIVATE double (*func_fpi_def) (lmm_variable_t, double);
#endif /* _SURF_MAXMIN_PRIVATE_H */