From b782f6d3aab01820c970c50aecc6847dc4e4ea73 Mon Sep 17 00:00:00 2001
From: Thomas Witkowski <thomas.witkowski@gmx.de>
Date: Wed, 28 May 2008 15:31:31 +0000
Subject: [PATCH] * isDeserialized_ moved from AdaptInstationary to AdaptInfo

---
 AMDiS/src/AdaptInfo.h          | 19 ++++++++++++++-
 AMDiS/src/AdaptInstationary.cc |  6 ++---
 AMDiS/src/SystemVector.h       | 43 +++++++++++++++++-----------------
 3 files changed, 42 insertions(+), 26 deletions(-)

diff --git a/AMDiS/src/AdaptInfo.h b/AMDiS/src/AdaptInfo.h
index feb90de9..5c137b6c 100644
--- a/AMDiS/src/AdaptInfo.h
+++ b/AMDiS/src/AdaptInfo.h
@@ -169,7 +169,8 @@ namespace AMDiS {
 	maxSolverIterations(0),
 	solverTolerance(1e-8),
 	solverResidual(0.0),
-	scalContents(size)
+        scalContents(size),
+	isDeserialized_(false)
     {
       GET_PARAMETER(0, name_ + "->start time", "%f", &startTime);
       time = startTime;
@@ -675,6 +676,17 @@ namespace AMDiS {
       return solverResidual;
     };
 
+    /** \brief
+     * Returns true, if the adaptive procedure was deserialized from a file.
+     */
+    const bool isDeserialized() const {
+      return isDeserialized_;
+    }
+
+    inline void setIsDeserialized(bool b) {
+      isDeserialized_ = b;
+    }
+
     /** \brief
      * Creates new scalContents with the given size.
      */
@@ -782,6 +794,11 @@ namespace AMDiS {
      * Scalar adapt infos.
      */
     Vector<ScalContent*> scalContents;
+
+    /** \brief
+     * Is true, if the adaptive procedure was deserialized from a file.
+     */
+    bool isDeserialized_;
   };
 
 }
diff --git a/AMDiS/src/AdaptInstationary.cc b/AMDiS/src/AdaptInstationary.cc
index 0f19af91..ff6fcae7 100644
--- a/AMDiS/src/AdaptInstationary.cc
+++ b/AMDiS/src/AdaptInstationary.cc
@@ -15,8 +15,7 @@ namespace AMDiS {
 				       AdaptInfo                 *initialInfo,
 				       time_t                    initialTimestamp)
     : AdaptBase(name, problemStat, info, problemInstat, initialInfo),
-      breakWhenStable(0),
-      isDeserialized_(false)
+      breakWhenStable(0)
   {
     FUNCNAME("AdaptInstationary::AdaptInstationary()");
 
@@ -43,7 +42,8 @@ namespace AMDiS {
       deserialize(in);
       in.close();
 
-      isDeserialized_ = true;
+      info->setIsDeserialized(true);
+      initialInfo->setIsDeserialized(true);
     } else {
       int readSerialization = 0;
       int readSerializationWithAdaptInfo = 0;
diff --git a/AMDiS/src/SystemVector.h b/AMDiS/src/SystemVector.h
index 4b0ab3e1..5269f511 100644
--- a/AMDiS/src/SystemVector.h
+++ b/AMDiS/src/SystemVector.h
@@ -70,11 +70,10 @@ namespace AMDiS {
        * Implementation of CreatorInterface::create().
        */
       SystemVector *create() { 
-	int i;
 	char number[10];
 	::std::string numberedName;
 	SystemVector *result = NEW SystemVector(name, feSpace, size);
-	for(i=0; i < size; i++) {
+	for (int i = 0; i < size; i++) {
 	  sprintf(number, "[%d]", i);
 	  numberedName = name + ::std::string(number);
 	  result->setDOFVector(i, NEW DOFVector<double>(feSpace[i], numberedName));
@@ -323,8 +322,8 @@ namespace AMDiS {
    * multiplication with scalar
    */
   inline const SystemVector& operator*=(SystemVector& x, double d) {
-    int i, size = x.getNumVectors();
-    for(i = 0; i < size; i++) {
+    int size = x.getNumVectors();
+    for (int i = 0; i < size; i++) {
       *(x.getDOFVector(i)) *= d;
     }
     return x;
@@ -337,8 +336,8 @@ namespace AMDiS {
     TEST_EXIT_DBG(x.getNumVectors() == y.getNumVectors())
           ("invalid size\n");
     double result = 0.0;
-    int i, size = x.getNumVectors();
-    for(i = 0; i < size; i++) {
+    int size = x.getNumVectors();
+    for (int i = 0; i < size; i++) {
       result += (*x.getDOFVector(i)) * (*y.getDOFVector(i));
     };
     return result;
@@ -352,8 +351,8 @@ namespace AMDiS {
   {
     TEST_EXIT_DBG(x.getNumVectors() == y.getNumVectors())
           ("invalid size\n");
-    int i, size = x.getNumVectors();
-    for(i = 0; i < size; i++) {
+    int size = x.getNumVectors();
+    for (int i = 0; i < size; i++) {
       (*(x.getDOFVector(i))) += (*(y.getDOFVector(i)));
     }
     return x;
@@ -367,8 +366,8 @@ namespace AMDiS {
   {
     TEST_EXIT_DBG(x.getNumVectors() == y.getNumVectors())
           ("invalid size\n");
-    int i, size = x.getNumVectors();
-    for(i = 0; i < size; i++) {
+    int size = x.getNumVectors();
+    for (int i = 0; i < size; i++) {
       (*(x.getDOFVector(i))) -= (*(y.getDOFVector(i)));
     }
     return x;
@@ -379,8 +378,8 @@ namespace AMDiS {
    */
   inline SystemVector operator*(SystemVector& x, double d) {
     SystemVector result = x;
-    int i, size = x.getNumVectors();
-    for(i = 0; i < size; i++) {
+    int size = x.getNumVectors();
+    for (int i = 0; i < size; i++) {
       (*(result.getDOFVector(i))) *= d;
     }
     return result;
@@ -391,8 +390,8 @@ namespace AMDiS {
    */
   inline SystemVector operator*(double d, SystemVector& x) {
     SystemVector result = x;
-    int i, size = x.getNumVectors();
-    for(i = 0; i < size; i++) {
+    int size = x.getNumVectors();
+    for (int i = 0; i < size; i++) {
       (*(result.getDOFVector(i))) *= d;
     }
     return result;
@@ -407,8 +406,8 @@ namespace AMDiS {
     TEST_EXIT_DBG(x.getNumVectors() == y.getNumVectors())
       ("invalid size\n");
     SystemVector result = x;
-    int i, size = x.getNumVectors();
-    for(i = 0; i < size; i++) {
+    int size = x.getNumVectors();
+    for (int i = 0; i < size; i++) {
       (*(result.getDOFVector(i))) += (*(y.getDOFVector(i)));
     }
     return result;
@@ -433,8 +432,8 @@ namespace AMDiS {
    */
   inline double norm(SystemVector* x) {
     double result = 0.0;
-    int i, size = x->getNumVectors();
-    for(i = 0; i < size; i++) {
+    int size = x->getNumVectors();
+    for (int i = 0; i < size; i++) {
       result += x->getDOFVector(i)->squareNrm2();
     }
     return sqrt(result);
@@ -445,8 +444,8 @@ namespace AMDiS {
    */
   inline double L2Norm(SystemVector* x) {
     double result = 0.0;
-    int i, size = x->getNumVectors();
-    for(i = 0; i < size; i++) {
+    int size = x->getNumVectors();
+    for (int i = 0; i < size; i++) {
       result += x->getDOFVector(i)->L2NormSquare();
     }
     return sqrt(result);
@@ -457,8 +456,8 @@ namespace AMDiS {
    */
   inline double H1Norm(SystemVector* x) {
     double result = 0.0;
-    int i, size = x->getNumVectors();
-    for(i = 0; i < size; i++) {
+    int size = x->getNumVectors();
+    for (int i = 0; i < size; i++) {
       result += x->getDOFVector(i)->H1NormSquare();
     }
     return sqrt(result);
-- 
GitLab