SimGrid  3.13
Versatile Simulation of Distributed Systems
maxmin_private.hpp File Reference
#include <xbt/base.h>
#include "surf/maxmin.h"
#include "xbt/swag.h"
#include "xbt/mallocator.h"
#include "surf_interface.hpp"

Classes

struct  lmm_element
 LMM element Elements can be seen as glue between constraint objects and variable objects. More...
 
struct  lmm_constraint_light
 
struct  lmm_constraint
 LMM constraint Each constraint contains several partially overlapping logical sets of elements: More...
 
struct  lmm_variable
 LMM variable. More...
 
struct  lmm_system
 LMM system. More...
 

Macros

#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))
 
#define extract_variable(sys)   xbt_swag_extract(&(sys->variable_set))
 
#define extract_constraint(sys)   xbt_swag_extract(&(sys->constraint_set))
 
#define insert_constraint(sys, cnst)   xbt_swag_insert(cnst,&(sys->constraint_set))
 
#define remove_variable(sys, var)
 
#define remove_constraint(sys, cnst)
 
#define make_constraint_active(sys, cnst)   xbt_swag_insert(cnst,&(sys->active_constraint_set))
 
#define make_constraint_inactive(sys, cnst)
 

Typedefs

typedef struct lmm_element s_lmm_element_t
 LMM element Elements can be seen as glue between constraint objects and variable objects. More...
 
typedef struct lmm_constraint_light s_lmm_constraint_light_t
 
typedef struct lmm_constraint s_lmm_constraint_t
 LMM constraint Each constraint contains several partially overlapping logical sets of elements: More...
 
typedef struct lmm_variable s_lmm_variable_t
 LMM variable. More...
 
typedef struct lmm_system s_lmm_system_t
 LMM system. More...
 

Variables

XBT_PRIVATE double(* func_f_def )(lmm_variable_t, double)
 Print informations about a lmm system. More...
 
XBT_PRIVATE double(* func_fp_def )(lmm_variable_t, double)
 
XBT_PRIVATE double(* func_fpi_def )(lmm_variable_t, double)
 

Macro Definition Documentation

#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))
#define extract_variable (   sys)    xbt_swag_extract(&(sys->variable_set))
#define extract_constraint (   sys)    xbt_swag_extract(&(sys->constraint_set))
#define insert_constraint (   sys,
  cnst 
)    xbt_swag_insert(cnst,&(sys->constraint_set))
#define remove_variable (   sys,
  var 
)
Value:
do {xbt_swag_remove(var,&(sys->variable_set));\
xbt_swag_remove(var,&(sys->saturated_variable_set));} while(0)
void * xbt_swag_remove(void *obj, xbt_swag_t swag)
Definition: swag.c:115
#define remove_constraint (   sys,
  cnst 
)
Value:
do {xbt_swag_remove(cnst,&(sys->constraint_set));\
xbt_swag_remove(cnst,&(sys->saturated_constraint_set));} while(0)
void * xbt_swag_remove(void *obj, xbt_swag_t swag)
Definition: swag.c:115
#define make_constraint_active (   sys,
  cnst 
)    xbt_swag_insert(cnst,&(sys->active_constraint_set))
#define make_constraint_inactive (   sys,
  cnst 
)
Value:
do { xbt_swag_remove(cnst, &sys->active_constraint_set); \
xbt_swag_remove(cnst, &sys->modified_constraint_set); } while (0)
void * xbt_swag_remove(void *obj, xbt_swag_t swag)
Definition: swag.c:115

Typedef Documentation

Variable Documentation

XBT_PRIVATE double(* func_fp_def) (lmm_variable_t, double)
XBT_PRIVATE double(* func_fpi_def) (lmm_variable_t, double)