-/* Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009, 2010. The SimGrid Team.
+/* Copyright (c) 2004-2012. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
#define make_elem_active(elem) xbt_swag_insert_at_head(elem,&(elem->constraint->active_element_set))
#define make_elem_inactive(elem) xbt_swag_remove(elem,&(elem->constraint->active_element_set))
-//typedef struct lmm_constraint_light {
-// double remaining_over_usage;
-// lmm_constraint_t cnst;
-//} s_lmm_constraint_light_t;
+typedef struct lmm_constraint_light {
+ double remaining_over_usage;
+ lmm_constraint_t cnst;
+} s_lmm_constraint_light_t;
typedef struct lmm_constraint {
/* hookup to system */
int id_int;
double lambda;
double new_lambda;
+ lmm_constraint_light_t cnst_light;
} s_lmm_constraint_t;
typedef struct lmm_variable {
do { xbt_swag_remove(cnst, &sys->active_constraint_set); \
xbt_swag_remove(cnst, &sys->modified_constraint_set); } while (0)
-static void lmm_var_free(lmm_system_t sys, lmm_variable_t var);
-static XBT_INLINE void lmm_cnst_free(lmm_system_t sys,
- lmm_constraint_t cnst);
-
void lmm_print(lmm_system_t sys);
extern double (*func_f_def) (lmm_variable_t, double);