]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Use new unsigned ints of /lac and fix some smaller problems.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Mon, 6 Apr 1998 09:05:57 +0000 (09:05 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Mon, 6 Apr 1998 09:05:57 +0000 (09:05 +0000)
git-svn-id: https://svn.dealii.org/trunk@142 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/source/dofs/dof_accessor.cc
deal.II/deal.II/source/dofs/dof_constraints.cc
deal.II/deal.II/source/dofs/dof_handler.cc
deal.II/deal.II/source/grid/tria.cc

index 8de61c1d6e8845f5fb37260b4caf010ab1782e1e..5de0800d3d66e55fe20011de6865f2d9834d4a36 100644 (file)
@@ -316,7 +316,7 @@ DoFCellAccessor<1>::get_dof_values (const dVector  &values,
   Assert (dof_handler != 0, ExcInvalidObject());
   Assert (&dof_handler->get_selected_fe() != 0, ExcInvalidObject());
   Assert (dof_values.size() == 0, ExcVectorNotEmpty());
-  Assert ((unsigned int)values.n() == dof_handler->n_dofs(),
+  Assert (values.n() == dof_handler->n_dofs(),
          ExcVectorDoesNotMatch());
   
   dof_values.reserve (dof_handler->get_selected_fe().total_dofs);
@@ -336,7 +336,7 @@ DoFCellAccessor<2>::get_dof_values (const dVector  &values,
   Assert (dof_handler != 0, ExcInvalidObject());
   Assert (&dof_handler->get_selected_fe() != 0, ExcInvalidObject());
   Assert (dof_values.size() == 0, ExcVectorNotEmpty());
-  Assert ((unsigned int)values.n() == dof_handler->n_dofs(),
+  Assert (values.n() == dof_handler->n_dofs(),
          ExcVectorDoesNotMatch());
     
   dof_values.reserve (dof_handler->get_selected_fe().total_dofs);
index 3beb0fa4790fb7c5e563c2383259eea841a8a6ac..efdc76e568d1c700c5e5f4b5a5d6816dad6be61a 100644 (file)
@@ -102,7 +102,7 @@ void ConstraintMatrix::condense (const dSMatrixStruct &uncondensed,
 
   vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
   unsigned int                           shift           = 0;
-  unsigned int n_rows = (unsigned int)uncondensed.n_rows();
+  unsigned int n_rows = uncondensed.n_rows();
 
   if (next_constraint == lines.end()) 
                                     // if no constraint is to be handled
@@ -137,13 +137,13 @@ void ConstraintMatrix::condense (const dSMatrixStruct &uncondensed,
                                   // only evaluated so often as there are
                                   // entries in new_line[*] which tells us
                                   // which constraints exist
-  for (int row=0; row<uncondensed.n_rows(); ++row)
+  for (unsigned int row=0; row<uncondensed.n_rows(); ++row)
     if (new_line[row] != -1)
                                       // line not constrained
                                       // copy entries if column will not
                                       // be condensed away, distribute
                                       // otherwise
-      for (int j=uncondensed.get_rowstart_indices()[row];
+      for (unsigned int j=uncondensed.get_rowstart_indices()[row];
           j<uncondensed.get_rowstart_indices()[row+1]; ++j)
        if (new_line[uncondensed.get_column_numbers()[j]] != -1)
          condensed.add (new_line[row], new_line[uncondensed.get_column_numbers()[j]]);
@@ -161,7 +161,7 @@ void ConstraintMatrix::condense (const dSMatrixStruct &uncondensed,
     else
                                       // line must be distributed
       {
-       for (int j=uncondensed.get_rowstart_indices()[row];
+       for (unsigned int j=uncondensed.get_rowstart_indices()[row];
             j<uncondensed.get_rowstart_indices()[row+1]; ++j)
                                           // for each entry: distribute
          if (new_line[uncondensed.get_column_numbers()[j]] != -1)
@@ -209,21 +209,16 @@ void ConstraintMatrix::condense (dSMatrixStruct &sparsity) const {
                                   // for gcc2.9: replace this by
                                   // distribute(sparsity.n_rows(), -1)
   vector<int> distribute;
-  distribute.reserve (sparsity.n_rows());
-                                  // replace the following line, since
-                                  // gcc2.8 chokes over it.
-//  distribute.insert (distribute.end(), sparsity.n_rows(), -1);
-  for (unsigned int i=0; i<(unsigned int)sparsity.n_rows(); ++i)
-    distribute.push_back (-1);
+  distribute.resize (sparsity.n_rows(), -1);
   
-  for (int c=0; c<(signed int)lines.size(); ++c)
-    distribute[lines[c].line] = c;
+  for (unsigned int c=0; c<lines.size(); ++c)
+    distribute[lines[c].line] = (signed int)c;
 
   int n_rows = sparsity.n_rows();
   for (int row=0; row<n_rows; ++row)
     if (distribute[row] == -1)
                                       // regular line. loop over cols
-      for (int j=sparsity.get_rowstart_indices()[row];
+      for (unsigned int j=sparsity.get_rowstart_indices()[row];
           j<sparsity.get_rowstart_indices()[row+1]; ++j)
                                         // end of row reached?
        if (sparsity.get_column_numbers()[j] == -1)
@@ -243,7 +238,7 @@ void ConstraintMatrix::condense (dSMatrixStruct &sparsity) const {
          }
     else
                                       // row must be distributed
-      for (int j=sparsity.get_rowstart_indices()[row];
+      for (unsigned int j=sparsity.get_rowstart_indices()[row];
           j<sparsity.get_rowstart_indices()[row+1]; ++j)
                                         // end of row reached?
        if (sparsity.get_column_numbers()[j] == -1)
@@ -286,7 +281,7 @@ void ConstraintMatrix::condense (const dSMatrix &uncondensed,
          ExcMatrixNotSquare());
   Assert (condensed.n() == condensed.m(),
          ExcMatrixNotSquare());
-  Assert ((unsigned int)condensed.n()+n_constraints() == (unsigned int)uncondensed.n(),
+  Assert (condensed.n()+n_constraints() == uncondensed.n(),
          ExcWrongDimension());
 
                                   // store for each line of the matrix
@@ -299,7 +294,7 @@ void ConstraintMatrix::condense (const dSMatrix &uncondensed,
 
   vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
   unsigned int                           shift           = 0;
-  unsigned int n_rows = (unsigned int)uncondensed_struct.n_rows();
+  unsigned int n_rows = uncondensed_struct.n_rows();
 
   if (next_constraint == lines.end()) 
                                     // if no constraint is to be handled
@@ -334,13 +329,13 @@ void ConstraintMatrix::condense (const dSMatrix &uncondensed,
                                   // only evaluated so often as there are
                                   // entries in new_line[*] which tells us
                                   // which constraints exist
-  for (int row=0; row<uncondensed_struct.n_rows(); ++row)
+  for (unsigned int row=0; row<uncondensed_struct.n_rows(); ++row)
     if (new_line[row] != -1)
                                       // line not constrained
                                       // copy entries if column will not
                                       // be condensed away, distribute
                                       // otherwise
-      for (int j=uncondensed_struct.get_rowstart_indices()[row];
+      for (unsigned int j=uncondensed_struct.get_rowstart_indices()[row];
           j<uncondensed_struct.get_rowstart_indices()[row+1]; ++j)
        if (new_line[uncondensed_struct.get_column_numbers()[j]] != -1)
          condensed.add (new_line[row], new_line[uncondensed_struct.get_column_numbers()[j]],
@@ -361,7 +356,7 @@ void ConstraintMatrix::condense (const dSMatrix &uncondensed,
     else
                                       // line must be distributed
       {
-       for (int j=uncondensed_struct.get_rowstart_indices()[row];
+       for (unsigned int j=uncondensed_struct.get_rowstart_indices()[row];
             j<uncondensed_struct.get_rowstart_indices()[row+1]; ++j)
                                           // for each column: distribute
          if (new_line[uncondensed_struct.get_column_numbers()[j]] != -1)
@@ -414,16 +409,10 @@ void ConstraintMatrix::condense (dSMatrix &uncondensed) const {
                                   // for gcc2.9: replace this by
                                   // distribute(sparsity.n_rows(), -1)
   vector<int> distribute;
-  distribute.reserve (sparsity.n_rows());
-                                  // replace the following line, since
-                                  // gcc2.8 chokes over it.
-//  distribute.insert (distribute.end(), sparsity.n_rows(), -1);
-  for (unsigned int i=0; i<(unsigned int)sparsity.n_rows(); ++i)
-    distribute.push_back (-1);
-
+  distribute.resize (sparsity.n_rows(), -1);
   
-  for (int c=0; c<(signed int)lines.size(); ++c)
-    distribute[lines[c].line] = c;
+  for (unsigned int c=0; c<lines.size(); ++c)
+    distribute[lines[c].line] = (signed int)c;
 
   int n_rows = sparsity.n_rows();
   for (int row=0; row<n_rows; ++row) 
@@ -431,7 +420,7 @@ void ConstraintMatrix::condense (dSMatrix &uncondensed) const {
       
     if (distribute[row] == -1)
                                       // regular line. loop over cols
-      for (int j=sparsity.get_rowstart_indices()[row];
+      for (unsigned int j=sparsity.get_rowstart_indices()[row];
           j<sparsity.get_rowstart_indices()[row+1]; ++j)
                                         // end of row reached?
        if (sparsity.get_column_numbers()[j] == -1)
@@ -458,7 +447,7 @@ void ConstraintMatrix::condense (dSMatrix &uncondensed) const {
          }
     else
                                       // row must be distributed
-      for (int j=sparsity.get_rowstart_indices()[row];
+      for (unsigned int j=sparsity.get_rowstart_indices()[row];
           j<sparsity.get_rowstart_indices()[row+1]; ++j)
                                         // end of row reached?
        if (sparsity.get_column_numbers()[j] == -1)
@@ -514,7 +503,7 @@ void ConstraintMatrix::condense (dSMatrix &uncondensed) const {
 void ConstraintMatrix::condense (const dVector &uncondensed,
                                 dVector       &condensed) const {
   Assert (sorted == true, ExcMatrixNotClosed());
-  Assert ((unsigned int)condensed.n()+n_constraints() == (unsigned int)uncondensed.n(),
+  Assert (condensed.n()+n_constraints() == uncondensed.n(),
          ExcWrongDimension());
   
                                   // store for each line of the vector
@@ -527,7 +516,7 @@ void ConstraintMatrix::condense (const dVector &uncondensed,
 
   vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
   unsigned int                           shift           = 0;
-  unsigned int n_rows = (unsigned int)uncondensed.n();
+  unsigned int n_rows = uncondensed.n();
 
   if (next_constraint == lines.end()) 
                                     // if no constraint is to be handled
@@ -562,7 +551,7 @@ void ConstraintMatrix::condense (const dVector &uncondensed,
                                   // only evaluated so often as there are
                                   // entries in new_line[*] which tells us
                                   // which constraints exist
-  for (int row=0; row<uncondensed.n(); ++row)
+  for (unsigned int row=0; row<uncondensed.n(); ++row)
     if (new_line[row] != -1)
                                       // line not constrained
                                       // copy entry
@@ -590,7 +579,7 @@ void ConstraintMatrix::condense (dVector &vec) const {
     return;
   
   vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
-  for (unsigned int row=0; row<(unsigned int)vec.n(); ++row)
+  for (unsigned int row=0; row<vec.n(); ++row)
     if (row == (*next_constraint).line)
                                       // line must be distributed
       {
@@ -614,7 +603,7 @@ void ConstraintMatrix::condense (dVector &vec) const {
 void ConstraintMatrix::distribute (const dVector &condensed,
                                   dVector       &uncondensed) const {
   Assert (sorted == true, ExcMatrixNotClosed());
-  Assert ((unsigned int)condensed.n()+n_constraints() == (unsigned int)uncondensed.n(),
+  Assert (condensed.n()+n_constraints() == uncondensed.n(),
          ExcWrongDimension());
 
                                   // store for each line of the new vector
@@ -627,7 +616,7 @@ void ConstraintMatrix::distribute (const dVector &condensed,
 
   vector<ConstraintLine>::const_iterator next_constraint = lines.begin();
   unsigned int                           shift           = 0;
-  unsigned int n_rows = (unsigned int)uncondensed.n();
+  unsigned int n_rows = uncondensed.n();
 
   if (next_constraint == lines.end()) 
                                     // if no constraint is to be handled
@@ -662,7 +651,7 @@ void ConstraintMatrix::distribute (const dVector &condensed,
                                   // only evaluated so often as there are
                                   // entries in new_line[*] which tells us
                                   // which constraints exist
-  for (unsigned int line=0; line<(unsigned int)uncondensed.n(); ++line) 
+  for (unsigned int line=0; line<uncondensed.n(); ++line) 
     if (old_line[line] != -1)
                                       // line was not condensed away
       uncondensed(line) = condensed(old_line[line]);
index 081fb2d02afff4c005e3bdad54411df83bd5d000..9bcedc4f060cbf225ee803f9011d72f491b35dbc 100644 (file)
@@ -782,9 +782,7 @@ void DoFHandler<dim>::renumber_dofs (const RenumberingMethod method,
                                   // workaround
 //  vector<int> new_number(sparsity.n_rows(), -1);
   vector<int> new_number;
-  new_number.reserve (sparsity.n_rows());
-  for (unsigned int i=0; i<(unsigned int)sparsity.n_rows(); ++i)
-    new_number.push_back (-1);
+  new_number.resize (sparsity.n_rows(), -1);
   
                                   // store the indices of the dofs renumbered
                                   // in the last round. Default to starting
@@ -809,14 +807,15 @@ void DoFHandler<dim>::renumber_dofs (const RenumberingMethod method,
       unsigned int min_coordination = n_dofs;
       for (int row=0; row<n_dofs; ++row) 
        {
-         int j;
+         unsigned int j;
          for (j=sparsity.get_rowstart_indices()[row];
               j<sparsity.get_rowstart_indices()[row+1]; ++j)
            if (sparsity.get_column_numbers()[j] == -1)
              break;
-                                          // post: coordination is now
+                                          // post-condition after loop:
+                                          // coordination is now
                                           // j-rowstart[row]
-         if (j-sparsity.get_rowstart_indices()[row] < (signed int)min_coordination)
+         if (j-sparsity.get_rowstart_indices()[row] <  min_coordination)
            {
              min_coordination = j-sparsity.get_rowstart_indices()[row];
              starting_point   = row;
@@ -848,7 +847,7 @@ void DoFHandler<dim>::renumber_dofs (const RenumberingMethod method,
                                       // dofs numbered in the last
                                       // round
       for (unsigned int i=0; i<last_round_dofs.size(); ++i)
-       for (int j=sparsity.get_rowstart_indices()[last_round_dofs[i]];
+       for (unsigned int j=sparsity.get_rowstart_indices()[last_round_dofs[i]];
             j<sparsity.get_rowstart_indices()[last_round_dofs[i]+1]; ++j)
          if (sparsity.get_column_numbers()[j] == -1)
            break;
@@ -888,7 +887,7 @@ void DoFHandler<dim>::renumber_dofs (const RenumberingMethod method,
           s!=next_round_dofs.end(); ++s) 
        {
          unsigned int coordination = 0;
-         for (int j=sparsity.get_rowstart_indices()[*s];
+         for (unsigned int j=sparsity.get_rowstart_indices()[*s];
               j<sparsity.get_rowstart_indices()[*s+1]; ++j)
            if (sparsity.get_column_numbers()[j] == -1)
              break;
@@ -1015,12 +1014,12 @@ void DoFHandler<2>::make_constraint_matrix (ConstraintMatrix &constraints) const
                                  2*selected_fe->dofs_per_line);
 
        Assert(2*selected_fe->dofs_per_vertex+selected_fe->dofs_per_line ==
-              (unsigned int)selected_fe->constraints().n(),
+              selected_fe->constraints().n(),
               ExcDifferentDimensions(2*selected_fe->dofs_per_vertex+
                                      selected_fe->dofs_per_line,
                                      selected_fe->constraints().n()));
        Assert(selected_fe->dofs_per_vertex+2*selected_fe->dofs_per_line ==
-              (unsigned int)selected_fe->constraints().m(),
+              selected_fe->constraints().m(),
               ExcDifferentDimensions(3*selected_fe->dofs_per_vertex+
                                      2*selected_fe->dofs_per_line,
                                      selected_fe->constraints().m()));
@@ -1141,17 +1140,13 @@ void DoFHandler<dim>::make_transfer_matrix (const DoFHandler<dim> &transfer_from
 #ifdef DEBUG
   for (unsigned int c=0; c<(1<<dim); ++c)
     {
-      Assert ((unsigned int)selected_fe->prolongate(c).m() ==
-             selected_fe->total_dofs,
+      Assert (selected_fe->prolongate(c).m() == selected_fe->total_dofs,
              ExcMatrixHasWrongSize(selected_fe->prolongate(c).m()));
-      Assert ((unsigned int)selected_fe->prolongate(c).n() ==
-             selected_fe->total_dofs,
+      Assert (selected_fe->prolongate(c).n() == selected_fe->total_dofs,
              ExcMatrixHasWrongSize(selected_fe->prolongate(c).n()));
-      Assert ((unsigned int)selected_fe->restrict(c).m() ==
-             selected_fe->total_dofs,
+      Assert (selected_fe->restrict(c).m() == selected_fe->total_dofs,
              ExcMatrixHasWrongSize(selected_fe->restrict(c).m()));
-      Assert ((unsigned int)selected_fe->restrict(c).n() ==
-             selected_fe->total_dofs,
+      Assert (selected_fe->restrict(c).n() == selected_fe->total_dofs,
              ExcMatrixHasWrongSize(selected_fe->restrict(c).n()));
     };
 #endif
@@ -1478,23 +1473,17 @@ void DoFHandler<1>::reserve_space (const FiniteElement<1> &fe) {
                                    // their size
   for (unsigned int i=0; i<levels.size(); ++i)
     delete levels[i];
-  levels.erase (levels.begin(), levels.end());
+  levels.resize (0);
 
   vertex_dofs.erase (vertex_dofs.begin(), vertex_dofs.end());
-  vertex_dofs.reserve (tria->vertices.size());
-  vertex_dofs.insert (vertex_dofs.end(),
-                     tria->vertices.size(),
-                     -1);
+  vertex_dofs.resize (tria->vertices.size(), -1);
     
   for (unsigned int i=0; i<tria->n_levels(); ++i) 
     {
       levels.push_back (new DoFLevel<1>);
 
-      levels.back()->line_dofs.reserve (tria->levels[i]->lines.lines.size() *
-                                       fe.dofs_per_line);
-      levels.back()->line_dofs.insert (levels.back()->line_dofs.end(),
-                                      (tria->levels[i]->lines.lines.size() *
-                                       fe.dofs_per_line),
+      levels.back()->line_dofs.resize (tria->levels[i]->lines.lines.size() *
+                                      fe.dofs_per_line,
                                       -1);
     };
 };
@@ -1510,30 +1499,21 @@ void DoFHandler<2>::reserve_space (const FiniteElement<2> &fe) {
                                    // their size
   for (unsigned int i=0; i<levels.size(); ++i)
     delete levels[i];
-  levels.erase (levels.begin(), levels.end());
+  levels.resize (0);
 
   vertex_dofs.erase (vertex_dofs.begin(), vertex_dofs.end());
-  vertex_dofs.reserve (tria->vertices.size());
-  vertex_dofs.insert (vertex_dofs.end(),
-                     tria->vertices.size(),
+  vertex_dofs.resize (tria->vertices.size(),
                      -1);
     
   for (unsigned int i=0; i<tria->n_levels(); ++i) 
     {
       levels.push_back (new DoFLevel<2>);
 
-      levels.back()->line_dofs.reserve (tria->levels[i]->lines.lines.size() *
-                                       fe.dofs_per_line);
-      levels.back()->line_dofs.insert (levels.back()->line_dofs.end(),
-                                      (tria->levels[i]->lines.lines.size() *
-                                       fe.dofs_per_line),
+      levels.back()->line_dofs.resize (tria->levels[i]->lines.lines.size() *
+                                      fe.dofs_per_line,
                                       -1);
-      
-      levels.back()->quad_dofs.reserve (tria->levels[i]->quads.quads.size() *
-                                       fe.dofs_per_quad);
-      levels.back()->quad_dofs.insert (levels.back()->quad_dofs.end(),
-                                      (tria->levels[i]->quads.quads.size() *
-                                       fe.dofs_per_quad),
+      levels.back()->quad_dofs.resize (tria->levels[i]->quads.quads.size() *
+                                      fe.dofs_per_quad,
                                       -1);
     };
 };
index 8501106000c12e55a4e201651dc4bceb024a1f41..d177be6a46702e502206117fc3ce733cef2dce30 100644 (file)
@@ -27,7 +27,7 @@ Triangulation<dim>::~Triangulation () {
   for (unsigned int i=0; i<levels.size(); ++i)
     delete levels[i];
 
-  levels.erase (levels.begin(), levels.end());
+  levels.resize (0);
 };
 
 
@@ -1648,7 +1648,7 @@ unsigned int Triangulation<1>::max_adjacent_cells () const {
 template <int dim>
 unsigned int Triangulation<dim>::max_adjacent_cells () const {
   cell_iterator cell = begin(0),
-               endc = (levels.size() != 0 ? begin(1) : cell_iterator(end()));
+               endc = (levels.size() > 1 ? begin(1) : cell_iterator(end()));
                                   // store the largest index of the vertices
                                   // used on level 0
   unsigned int max_vertex_index = 0;
@@ -1773,16 +1773,8 @@ void Triangulation<1>::execute_refinement () {
            bind2nd (equal_to<bool>(), true),
            needed_vertices);
 
-  vertices.reserve (needed_vertices);
-  vertices_used.reserve (needed_vertices);
-  vertices.insert (vertices.end(),
-                  needed_vertices-vertices.size(),
-                  Point<1>());
-  vertices_used.insert (vertices_used.end(),
-                       needed_vertices-vertices_used.size(),
-                       false);
-
-
+  vertices.resize (needed_vertices, Point<1>());
+  vertices_used.resize (needed_vertices, false);
 
 
                                   // Do REFINEMENT
@@ -2049,15 +2041,8 @@ void Triangulation<2>::execute_refinement () {
            needed_vertices);
 
                                   // reserve enough space for all vertices
-  vertices.reserve (needed_vertices);
-  vertices_used.reserve (needed_vertices);
-  vertices.insert (vertices.end(),
-                  needed_vertices-vertices.size(),
-                  Point<2>());
-  vertices_used.insert (vertices_used.end(),
-                       needed_vertices-vertices_used.size(),
-                       false);
-
+  vertices.resize (needed_vertices, Point<2>());
+  vertices_used.resize (needed_vertices, false);
 
 
 

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.