#include "xbt/module.h"
#include <math.h>
-
-
XBT_LOG_NEW_DEFAULT_CATEGORY(surf_test,
"Messages specific for surf example");
if ((min_func > 0 && max_func < 0))
abort();
+ SHOW_EXPR(min_error);
+
while (overall_error > min_error) {
+ SHOW_EXPR(overall_error);
if ((min_func > 0 && max_func > 0) ||
(min_func < 0 && max_func < 0) || (min_func > 0 && max_func < 0)) {
abort();
}
+ SHOW_EXPR(min);
+ SHOW_EXPR(min_func);
+ SHOW_EXPR(max);
+ SHOW_EXPR(max_func);
+
middle = (max + min) / 2.0;
if ((min == middle) || (max == middle)) {
break;
}
middle_func = func(middle);
+ SHOW_EXPR(middle);
+ SHOW_EXPR(middle_func);
if (middle_func < 0) {
min = middle;
min_func = middle_func;
- overall_error = max - middle_func;
+ overall_error = max_func - middle_func;
} else if (middle_func > 0) {
max = middle;
max_func = middle_func;
- overall_error = max - middle_func;
+ overall_error = middle_func-min_func;
} else {
overall_error = 0;
}
a_test_1 = a;
b_test_1 = b;
- x = dichotomy(diff_lagrange_test_1, 0, a, 1e-8);
+ x = dichotomy(diff_lagrange_test_1, 0, a, 1e-13);
if (x < 0)
x = 0;
1, 1, 1, 1, 1
};
-
- A = (double **) calloc(links + 5, sizeof(double));
+
+ /*A = xbt_new0(double*, links + 5);*/
+ A = xbt_new0(double*, links + 5);
for (i = 0; i < links + 5; i++) {
- A[i] = (double *) calloc(flows + 5, sizeof(double));
-
+ A[i] = xbt_new0(double, flows + 5);
for (j = 0; j < flows + 5; j++) {
A[i][j] = 0.0;
- tmp_name = (char **) calloc(31, sizeof(char *));
- for (i = 0; i < 31; i++) {
- tmp_name[i] = (char *) calloc(10, sizeof(char));
- }
+ tmp_name = xbt_new0(char *,31);
/*
* Creates the constraints
*/
- tmp_cnst = calloc(15, sizeof(lmm_constraint_t));
+ tmp_cnst = xbt_new0(lmm_constraint_t,15);
for (i = 0; i < 15; i++) {
- sprintf(tmp_name[i], "C_%03d", i);
+ tmp_name[i] = bprintf("C_%03d", i);
tmp_cnst[i] = lmm_constraint_new(Sys, (void *) tmp_name[i], B[i]);
}
/*
* Creates the variables
*/
- tmp_var = calloc(16, sizeof(lmm_variable_t));
+ tmp_var = xbt_new0(lmm_variable_t,16);
for (j = 0; j < 16; j++) {
- sprintf(tmp_name[i + j], "X_%03d", j);
+ tmp_name[i + j] = bprintf("X_%03d", j);
tmp_var[j] =
lmm_variable_new(Sys, (void *) tmp_name[i + j], 1.0, -1.0, 15);
lmm_update_variable_latency(Sys, tmp_var[j], 1.0);