From e21fff9a8aadd535db5b9a29859e3669a2622561 Mon Sep 17 00:00:00 2001 From: alegrand Date: Thu, 26 Jul 2007 19:25:04 +0000 Subject: [PATCH] func_f and func_fp need to be provided. This is weird. I thought I already had commited these files... git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3897 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/surf/maxmin.c | 2 ++ src/surf/maxmin_private.h | 6 ++++++ src/surf/workstation_KCCFLN05.c | 4 ++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/surf/maxmin.c b/src/surf/maxmin.c index 4be448e3c3..24405cc224 100644 --- a/src/surf/maxmin.c +++ b/src/surf/maxmin.c @@ -176,6 +176,8 @@ lmm_variable_t lmm_variable_new(lmm_system_t sys, void *id, var->value = 0.0; var->df = 0.0; + var->func_f = func_f_def; + var->func_fp = func_fp_def; var->func_fpi = func_fpi_def; if(weight) xbt_swag_insert_at_head(var,&(sys->variable_set)); diff --git a/src/surf/maxmin_private.h b/src/surf/maxmin_private.h index 947e1c8d9d..1798472607 100644 --- a/src/surf/maxmin_private.h +++ b/src/surf/maxmin_private.h @@ -58,6 +58,8 @@ typedef struct lmm_variable { double mu; double new_mu; double df; /* Total delay of flow */ + double (* func_f) (struct lmm_variable *var, double x); /* (f) */ + double (* func_fp) (struct lmm_variable *var, double x); /* (f') */ double (* func_fpi) (struct lmm_variable *var, double x); /* (f')^{-1} */ /* \end{For Lagrange only} */ } s_lmm_variable_t; @@ -91,4 +93,8 @@ static 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); +extern double (* func_fp_def ) (lmm_variable_t , double); +extern double (* func_fpi_def )(lmm_variable_t , double); + #endif /* _SURF_MAXMIN_PRIVATE_H */ diff --git a/src/surf/workstation_KCCFLN05.c b/src/surf/workstation_KCCFLN05.c index d06e946ca5..6a7f8d2ac8 100644 --- a/src/surf/workstation_KCCFLN05.c +++ b/src/surf/workstation_KCCFLN05.c @@ -1154,7 +1154,7 @@ void surf_workstation_resource_init_KCCFLN05_Vegas(const char *filename) resource_init_internal(); parse_file(filename); - lmm_set_default_protocol_function(func_vegas_fpi); + lmm_set_default_protocol_function(func_vegas_f, func_vegas_fpi); surf_workstation_resource->common_public->name = "Workstation KCCFLN05 (Vegas)"; use_lagrange_solver=1; @@ -1168,7 +1168,7 @@ void surf_workstation_resource_init_KCCFLN05_Reno(const char *filename) resource_init_internal(); parse_file(filename); - lmm_set_default_protocol_function(func_reno_fpi); + lmm_set_default_protocol_function(func_reno_f, func_reno_fpi); surf_workstation_resource->common_public->name = "Workstation KCCFLN05 (Reno)"; use_lagrange_solver=1; -- 2.20.1