lmm_system_t lmm_system_new(int selective_update) { lmm_system_t l = NULL; s_lmm_variable_t var; s_lmm_constraint_t cnst; l = xbt_new0(s_lmm_system_t, 1); l->modified = 0; l->selective_update_active = selective_update; l->visited_counter = 1; XBT_DEBUG("Setting selective_update_active flag to %d", l->selective_update_active); xbt_swag_init(&(l->variable_set), xbt_swag_offset(var, variable_set_hookup)); xbt_swag_init(&(l->constraint_set), xbt_swag_offset(cnst, constraint_set_hookup)); xbt_swag_init(&(l->active_constraint_set), xbt_swag_offset(cnst, active_constraint_set_hookup)); xbt_swag_init(&(l->modified_constraint_set), xbt_swag_offset(cnst, modified_constraint_set_hookup)); xbt_swag_init(&(l->saturated_variable_set), xbt_swag_offset(var, saturated_variable_set_hookup)); xbt_swag_init(&(l->saturated_constraint_set), xbt_swag_offset(cnst, saturated_constraint_set_hookup)); l->variable_mallocator = xbt_mallocator_new(65536, lmm_variable_mallocator_new_f, lmm_variable_mallocator_free_f, lmm_variable_mallocator_reset_f); return l; }
/** * \brief Initializes the action module of Surf. */ void surf_action_init(void) { /* the action mallocator will always provide actions of the following size, * so this size should be set to the maximum size of the surf action structures */ action_mallocator_allocated_size = sizeof(s_surf_action_network_CM02_t); action_mallocator = xbt_mallocator_new(65536, surf_action_mallocator_new_f, surf_action_mallocator_free_f, surf_action_mallocator_reset_f); }