-/* 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
#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)
+/** @ingroup SURF_lmm
+ * @brief Print informations about a lmm system
+ *
+ * @param sys A lmm system
+ */
void lmm_print(lmm_system_t sys);
extern double (*func_f_def) (lmm_variable_t, double);