diff options
author | schnetter <> | 2001-06-12 12:56:00 +0000 |
---|---|---|
committer | schnetter <> | 2001-06-12 12:56:00 +0000 |
commit | 8867059a4180017e191773894b66fc36521168b9 (patch) | |
tree | 27cc2b6bbfdf277b797d883a5770679de6dcff05 /Carpet/CarpetLib/src/th.cc | |
parent | 2de5b11b0a7bfb67d2ac1be8b74edcd024698617 (diff) |
Introduced abstraction classes that have no <dim> parameter. This
Introduced abstraction classes that have no <dim> parameter. This
will make it easier to adapte the driver to support multiple
dimensions at once.
darcs-hash:20010612125655-07bb3-1cba35eb867eca1234b3a40bd7a5641b64776c50.gz
Diffstat (limited to 'Carpet/CarpetLib/src/th.cc')
-rw-r--r-- | Carpet/CarpetLib/src/th.cc | 45 |
1 files changed, 20 insertions, 25 deletions
diff --git a/Carpet/CarpetLib/src/th.cc b/Carpet/CarpetLib/src/th.cc index 4a6638b63..18e26de1e 100644 --- a/Carpet/CarpetLib/src/th.cc +++ b/Carpet/CarpetLib/src/th.cc @@ -6,7 +6,7 @@ copyright : (C) 2000 by Erik Schnetter email : schnetter@astro.psu.edu - $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/th.cc,v 1.4 2001/03/27 22:26:31 eschnett Exp $ + $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/th.cc,v 1.5 2001/06/12 14:57:00 schnetter Exp $ ***************************************************************************/ @@ -24,7 +24,7 @@ #include <iostream> #include "defs.hh" -#include "gh.hh" +#include "dggh.hh" #if !defined(TMPL_IMPLICIT) || !defined(TH_HH) # include "th.hh" @@ -35,23 +35,20 @@ using namespace std; // Constructors -template<int D> -th<D>::th (gh<D>& h, const int basedelta) : h(h), delta(basedelta) { - h.add(this); +th::th (dimgeneric_gh* h, const int basedelta) : h(h), delta(basedelta) { + h->add(this); } // Destructors -template<int D> -th<D>::~th () { - h.remove(this); +th::~th () { + h->remove(this); } // Modifiers -template<int D> -void th<D>::recompose () { - times.resize(h.reflevels()); - deltas.resize(h.reflevels()); - for (int rl=0; rl<h.reflevels(); ++rl) { +void th::recompose () { + times.resize(h->reflevels()); + deltas.resize(h->reflevels()); + for (int rl=0; rl<h->reflevels(); ++rl) { const int old_mglevels = times[rl].size(); int mgtime; // Select default time @@ -62,16 +59,16 @@ void th<D>::recompose () { } else { mgtime = times[rl][old_mglevels-1]; } - times[rl].resize(h.mglevels(rl,0), mgtime); - deltas[rl].resize(h.mglevels(rl,0)); - for (int ml=0; ml<h.mglevels(rl,0); ++ml) { + times[rl].resize(h->mglevels(rl,0), mgtime); + deltas[rl].resize(h->mglevels(rl,0)); + for (int ml=0; ml<h->mglevels(rl,0); ++ml) { if (rl==0 && ml==0) { deltas[rl][ml] = delta; } else if (ml==0) { - assert (deltas[rl-1][ml] % h.reffact == 0); - deltas[rl][ml] = deltas[rl-1][ml] / h.reffact; + assert (deltas[rl-1][ml] % h->reffact == 0); + deltas[rl][ml] = deltas[rl-1][ml] / h->reffact; } else { - deltas[rl][ml] = deltas[rl][ml-1] * h.mgfact; + deltas[rl][ml] = deltas[rl][ml-1] * h->mgfact; } } } @@ -80,12 +77,11 @@ void th<D>::recompose () { // Output -template<int D> -void th<D>::output (ostream& os) const { - os << "th<" << D << ">:" +void th::output (ostream& os) const { + os << "th:" << "times={"; - for (int rl=0; rl<h.reflevels(); ++rl) { - for (int ml=0; ml<h.mglevels(rl,0); ++ml) { + for (int rl=0; rl<h->reflevels(); ++rl) { + for (int ml=0; ml<h->mglevels(rl,0); ++ml) { if (!(rl==0 && ml==0)) os << ","; os << rl << ":" << ml << ":" << times[rl][ml] << "(" << deltas[rl][ml] << ")"; @@ -97,5 +93,4 @@ void th<D>::output (ostream& os) const { #if defined(TMPL_EXPLICIT) -template class th<3>; #endif |