Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
write java class files into CMAKE_CURRENT_BINARY_DIR, not into source dir
[simgrid.git] / testsuite / surf / lmm_usage.c
index 2339813..5e8f6ab 100644 (file)
@@ -1,8 +1,7 @@
-/*     $Id$     */
-
 /* A few tests for the maxmin library                                       */
 
-/* Copyright (c) 2004 Arnaud Legrand. All rights reserved.                  */
+/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team.
+ * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
@@ -17,7 +16,8 @@
 #include "xbt/module.h"
 #include <math.h>
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(surf_test, "Messages specific for surf example");
+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);
@@ -30,7 +30,6 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(surf_test, "Messages specific for surf example");
 
 typedef enum {
   MAXMIN,
-  SDP,
   LAGRANGE_RENO,
   LAGRANGE_VEGAS,
 } method_t;
@@ -151,13 +150,9 @@ void test1(method_t method)
 
   if (method == MAXMIN) {
     lmm_solve(Sys);
-#ifdef HAVE_SDP
-  } else if (method == SDP) {
-    sdp_solve(Sys);
-#endif
   } else if (method == LAGRANGE_VEGAS) {
     double x = 3 * a / 4 - 3 * b / 8 +
-      sqrt(9 * b * b + 4 * a * a - 4 * a * b) / 8;
+        sqrt(9 * b * b + 4 * a * a - 4 * a * b) / 8;
     /* Computed with mupad and D_f=1.0 */
     double max_deviation = 0.0;
     if (x > a) {
@@ -169,12 +164,14 @@ void test1(method_t method)
 
     lagrange_solve(Sys);
 
-    max_deviation = MAX(max_deviation, fabs(lmm_variable_getvalue(R_1) - x));
-    max_deviation = MAX(max_deviation, fabs(lmm_variable_getvalue(R_3) - x));
     max_deviation =
-      MAX(max_deviation, fabs(lmm_variable_getvalue(R_2) - (b - a + x)));
+        MAX(max_deviation, fabs(lmm_variable_getvalue(R_1) - x));
+    max_deviation =
+        MAX(max_deviation, fabs(lmm_variable_getvalue(R_3) - x));
     max_deviation =
-      MAX(max_deviation, fabs(lmm_variable_getvalue(R_1_2_3) - (a - x)));
+        MAX(max_deviation, fabs(lmm_variable_getvalue(R_2) - (b - a + x)));
+    max_deviation =
+        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);
@@ -202,12 +199,14 @@ void test1(method_t method)
       x = a;
     lagrange_solve(Sys);
 
-    max_deviation = MAX(max_deviation, fabs(lmm_variable_getvalue(R_1) - x));
-    max_deviation = MAX(max_deviation, fabs(lmm_variable_getvalue(R_3) - x));
     max_deviation =
-      MAX(max_deviation, fabs(lmm_variable_getvalue(R_2) - (b - a + x)));
+        MAX(max_deviation, fabs(lmm_variable_getvalue(R_1) - x));
+    max_deviation =
+        MAX(max_deviation, fabs(lmm_variable_getvalue(R_3) - x));
+    max_deviation =
+        MAX(max_deviation, fabs(lmm_variable_getvalue(R_2) - (b - a + x)));
     max_deviation =
-      MAX(max_deviation, fabs(lmm_variable_getvalue(R_1_2_3) - (a - x)));
+        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);
@@ -269,10 +268,6 @@ void test2(method_t method)
 
   if (method == MAXMIN) {
     lmm_solve(Sys);
-#ifdef HAVE_SDP
-  } else if (method == SDP) {
-    sdp_solve(Sys);
-#endif
   } else if (method == LAGRANGE_VEGAS) {
     lagrange_solve(Sys);
   } else if (method == LAGRANGE_RENO) {
@@ -426,7 +421,7 @@ void test3(method_t method)
   for (j = 0; j < 16; 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_variable_new(Sys, (void *) tmp_name[i + j], 1.0, -1.0, 15);
     lmm_update_variable_weight(Sys, tmp_var[j], 1.0);
   }
 
@@ -445,10 +440,6 @@ void test3(method_t method)
 
   if (method == MAXMIN) {
     lmm_solve(Sys);
-#ifdef HAVE_SDP
-  } else if (method == SDP) {
-    sdp_solve(Sys);
-#endif
   } else if (method == LAGRANGE_VEGAS) {
     lagrange_solve(Sys);
   } else if (method == LAGRANGE_RENO) {
@@ -477,10 +468,6 @@ int main(int argc, char **argv)
 
   INFO0("***** Test 1 (Max-Min)");
   test1(MAXMIN);
-#ifdef HAVE_SDP
-  INFO0("***** Test 1 (SDP)");
-  test1(SDP);
-#endif
   INFO0("***** Test 1 (Lagrange - Vegas)");
   test1(LAGRANGE_VEGAS);
   INFO0("***** Test 1 (Lagrange - Reno)");
@@ -490,10 +477,6 @@ int main(int argc, char **argv)
 
   INFO0("***** Test 2 (Max-Min)");
   test2(MAXMIN);
-#ifdef HAVE_SDP
-  INFO0("***** Test 2 (SDP)");
-  test2(SDP);
-#endif
   INFO0("***** Test 2 (Lagrange - Vegas)");
   test2(LAGRANGE_VEGAS);
   INFO0("***** Test 2 (Lagrange - Reno)");
@@ -502,10 +485,6 @@ int main(int argc, char **argv)
 
   INFO0("***** Test 3 (Max-Min)");
   test3(MAXMIN);
-#ifdef HAVE_SDP
-  INFO0("***** Test 3 (SDP)");
-  test3(SDP);
-#endif
   INFO0("***** Test 3 (Lagrange - Vegas)");
   test3(LAGRANGE_VEGAS);
   INFO0("***** Test 3 (Lagrange - Reno)");