XBT_LOG_NEW_DEFAULT_CATEGORY(surf_test,
"Messages specific for surf example");
-#define PRINT_VAR(var) DEBUG1(#var " = %g",lmm_variable_getvalue(var));
-#define SHOW_EXPR(expr) DEBUG1(#expr " = %g",expr);
+#define PRINT_VAR(var) XBT_DEBUG(#var " = %g",lmm_variable_getvalue(var));
+#define SHOW_EXPR(expr) XBT_DEBUG(#expr " = %g",expr);
/* */
/* ______ */
typedef enum {
MAXMIN,
LAGRANGE_RENO,
- LAGRANGE_VEGAS,
+ LAGRANGE_VEGAS
} method_t;
static double dichotomy(double func(double), double min, double max,
lmm_set_default_protocol_function(func_reno_f, func_reno_fpi,
func_reno_fpi);
- Sys = lmm_system_new();
+ Sys = lmm_system_new(1);
L1 = lmm_constraint_new(Sys, (void *) "L1", a);
L2 = lmm_constraint_new(Sys, (void *) "L2", b);
L3 = lmm_constraint_new(Sys, (void *) "L3", a);
MAX(max_deviation, fabs(lmm_variable_getvalue(R_1_2_3) - (a - x)));
if (max_deviation > MAXMIN_PRECISION) {
- WARN1("Max Deviation from optimal solution : %g", max_deviation);
- WARN1("Found x = %1.20f", x);
- WARN2("Deviation from optimal solution (R_1 = %g): %1.20f", x,
+ XBT_WARN("Max Deviation from optimal solution : %g", max_deviation);
+ XBT_WARN("Found x = %1.20f", x);
+ XBT_WARN("Deviation from optimal solution (R_1 = %g): %1.20f", x,
lmm_variable_getvalue(R_1) - x);
- WARN2("Deviation from optimal solution (R_2 = %g): %1.20f",
+ XBT_WARN("Deviation from optimal solution (R_2 = %g): %1.20f",
b - a + x, lmm_variable_getvalue(R_2) - (b - a + x));
- WARN2("Deviation from optimal solution (R_3 = %g): %1.20f", x,
+ XBT_WARN("Deviation from optimal solution (R_3 = %g): %1.20f", x,
lmm_variable_getvalue(R_3) - x);
- WARN2("Deviation from optimal solution (R_1_2_3 = %g): %1.20f",
+ XBT_WARN("Deviation from optimal solution (R_1_2_3 = %g): %1.20f",
a - x, lmm_variable_getvalue(R_1_2_3) - (a - x));
}
} else if (method == LAGRANGE_RENO) {
MAX(max_deviation, fabs(lmm_variable_getvalue(R_1_2_3) - (a - x)));
if (max_deviation > MAXMIN_PRECISION) {
- WARN1("Max Deviation from optimal solution : %g", max_deviation);
- WARN1("Found x = %1.20f", x);
- WARN2("Deviation from optimal solution (R_1 = %g): %1.20f", x,
+ XBT_WARN("Max Deviation from optimal solution : %g", max_deviation);
+ XBT_WARN("Found x = %1.20f", x);
+ XBT_WARN("Deviation from optimal solution (R_1 = %g): %1.20f", x,
lmm_variable_getvalue(R_1) - x);
- WARN2("Deviation from optimal solution (R_2 = %g): %1.20f",
+ XBT_WARN("Deviation from optimal solution (R_2 = %g): %1.20f",
b - a + x, lmm_variable_getvalue(R_2) - (b - a + x));
- WARN2("Deviation from optimal solution (R_3 = %g): %1.20f", x,
+ XBT_WARN("Deviation from optimal solution (R_3 = %g): %1.20f", x,
lmm_variable_getvalue(R_3) - x);
- WARN2("Deviation from optimal solution (R_1_2_3 = %g): %1.20f",
+ XBT_WARN("Deviation from optimal solution (R_1_2_3 = %g): %1.20f",
a - x, lmm_variable_getvalue(R_1_2_3) - (a - x));
}
} else {
- xbt_assert0(0, "Invalid method");
+ xbt_die( "Invalid method");
}
PRINT_VAR(R_1_2_3);
PRINT_VAR(R_2);
PRINT_VAR(R_3);
+ lmm_variable_free(Sys, R_1_2_3);
+ lmm_variable_free(Sys, R_1);
+ lmm_variable_free(Sys, R_2);
+ lmm_variable_free(Sys, R_3);
lmm_system_free(Sys);
}
lmm_set_default_protocol_function(func_reno_f, func_reno_fp,
func_reno_fpi);
- Sys = lmm_system_new();
+ Sys = lmm_system_new(1);
CPU1 = lmm_constraint_new(Sys, (void *) "CPU1", 200.0);
CPU2 = lmm_constraint_new(Sys, (void *) "CPU2", 100.0);
} else if (method == LAGRANGE_RENO) {
lagrange_solve(Sys);
} else {
- xbt_assert0(0, "Invalid method");
+ xbt_die("Invalid method");
}
PRINT_VAR(T1);
PRINT_VAR(T2);
+ lmm_variable_free(Sys, T1);
+ lmm_variable_free(Sys, T2);
lmm_system_free(Sys);
}
1, 1, 1, 1, 1
};
- /*A = xbt_new0(double*, links + 5); */
A = xbt_new0(double *, links + 5);
for (i = 0; i < links + 5; i++) {
lmm_set_default_protocol_function(func_reno_f, func_reno_fp,
func_reno_fpi);
- Sys = lmm_system_new();
+ Sys = lmm_system_new(1);
} else if (method == LAGRANGE_RENO) {
lagrange_solve(Sys);
} else {
- xbt_assert0(0, "Invalid method");
+ xbt_die("Invalid method");
}
for (j = 0; j < 16; j++) {
PRINT_VAR(tmp_var[j]);
}
- free(tmp_var);
- free(tmp_cnst);
- free(tmp_name);
+ for (j = 0; j < 16; j++)
+ lmm_variable_free(Sys, tmp_var[j]);
+ xbt_free(tmp_var);
+ xbt_free(tmp_cnst);
+ for (i = 0; i < 31; i++)
+ xbt_free(tmp_name[i]);
+ xbt_free(tmp_name);
lmm_system_free(Sys);
+ for (i = 0; i < links + 5; i++)
+ xbt_free(A[i]);
+ xbt_free(A);
}
#ifdef __BORLANDC__
{
xbt_init(&argc, argv);
- INFO0("***** Test 1 (Max-Min)");
+ XBT_INFO("***** Test 1 (Max-Min)");
test1(MAXMIN);
- INFO0("***** Test 1 (Lagrange - Vegas)");
+ XBT_INFO("***** Test 1 (Lagrange - Vegas)");
test1(LAGRANGE_VEGAS);
- INFO0("***** Test 1 (Lagrange - Reno)");
+ XBT_INFO("***** Test 1 (Lagrange - Reno)");
test1(LAGRANGE_RENO);
- INFO0("***** Test 2 (Max-Min)");
+ XBT_INFO("***** Test 2 (Max-Min)");
test2(MAXMIN);
- INFO0("***** Test 2 (Lagrange - Vegas)");
+ XBT_INFO("***** Test 2 (Lagrange - Vegas)");
test2(LAGRANGE_VEGAS);
- INFO0("***** Test 2 (Lagrange - Reno)");
+ XBT_INFO("***** Test 2 (Lagrange - Reno)");
test2(LAGRANGE_RENO);
- INFO0("***** Test 3 (Max-Min)");
+ XBT_INFO("***** Test 3 (Max-Min)");
test3(MAXMIN);
- INFO0("***** Test 3 (Lagrange - Vegas)");
+ XBT_INFO("***** Test 3 (Lagrange - Vegas)");
test3(LAGRANGE_VEGAS);
- INFO0("***** Test 3 (Lagrange - Reno)");
+ XBT_INFO("***** Test 3 (Lagrange - Reno)");
test3(LAGRANGE_RENO);
return 0;