27 for (i = 0; i < nr; i++)
34inline void Sort3 (
int &r,
int &c,
int &
f)
45 t = r; r = c; c =
f;
f =
t;
55 t =
f;
f = c; c = r; r =
t;
68 MFEM_ASSERT(r != c && c !=
f &&
f != r,
69 "STable3D::Push : r = " << r <<
", c = " << c <<
", f = " <<
f);
73 for (node = Rows[r]; node != NULL; node = node->
Prev)
82#ifdef MFEM_USE_MEMALLOC
83 node = NodesMem.Alloc ();
103 for (node = Rows[r]; node != NULL; node = node->
Prev)
112 MFEM_ABORT(
"(r,c,f) = (" << r <<
"," << c <<
"," <<
f <<
")");
128 for (node = Rows[r]; node != NULL; node = node->
Prev)
142 MFEM_ASSERT(r != c && r !=
f && r !=
t && c !=
f && c !=
t &&
f !=
t,
143 " r = " << r <<
", c = " << c <<
", f = " <<
f <<
", t = " <<
t);
148 if (max < c) { max = c, i = 1; }
149 if (max <
f) { max =
f, i = 2; }
150 if (max <
t) { i = 3; }
172 if (max < c) { max = c, i = 1; }
173 if (max <
f) { max =
f, i = 2; }
174 if (max <
t) { i = 3; }
179 return (*
this)(c,
f,
t);
181 return (*
this)(r,
f,
t);
183 return (*
this)(r,c,
t);
185 return (*
this)(r,c,
f);
193#ifdef MFEM_USE_MEMALLOC
196 for (
int i = 0; i < Size; i++)
199 while (node_p != NULL)
202 node_p = node_p->
Prev;
213 for (
int row = 0; row < Size; row++)
216 while (node_p != NULL)
220 <<
' ' << node_p->
Floor
223 node_p = node_p->
Prev;
int operator()(int r, int c, int f) const
Return the number assigned to the table entry. Abort if it's not there.
int Index(int r, int c, int f) const
int Push(int r, int c, int f)
Check to see if this entry is in the table and add it to the table if it is not there....
int Push4(int r, int c, int f, int t)
Check to see if this entry is in the table and add it to the table if it is not there....
STable3D(int nr)
Construct the table with a total of 'nr' rows.
void Print(std::ostream &out=mfem::out) const
Print out all of the table elements.
void Sort3(int &r, int &c, int &f)
std::function< real_t(const Vector &)> f(real_t mass_coeff)