SimGrid  3.14.159
Versatile Simulation of Distributed Systems
maxmin_private.hpp File Reference
#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

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

Macro Definition Documentation

◆ make_elem_active

#define make_elem_active (   elem)    xbt_swag_insert_at_head(elem,&(elem->constraint->active_element_set))

◆ make_elem_inactive

#define make_elem_inactive (   elem)    xbt_swag_remove(elem,&(elem->constraint->active_element_set))

◆ extract_variable

#define extract_variable (   sys)    xbt_swag_extract(&(sys->variable_set))

◆ extract_constraint

#define extract_constraint (   sys)    xbt_swag_extract(&(sys->constraint_set))

◆ insert_constraint

#define insert_constraint (   sys,
  cnst 
)    xbt_swag_insert(cnst,&(sys->constraint_set))

◆ remove_variable

#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

◆ remove_constraint

#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

◆ make_constraint_active

#define make_constraint_active (   sys,
  cnst 
)    xbt_swag_insert(cnst,&(sys->active_constraint_set))

◆ make_constraint_inactive

#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

◆ s_lmm_constraint_light_t

Variable Documentation

◆ func_fp_def

double(* func_fp_def) (lmm_variable_t, double)

◆ func_fpi_def

double(* func_fpi_def) (lmm_variable_t, double)