#include #include "cctk.h" #include "defs.hh" #include "gf.hh" using namespace std; // Constructors template gf::gf (const int varindex_, const operator_type transport_operator_, th& t_, dh& d_, const int prolongation_order_time_, const int vectorlength_, const int vectorindex_, gf* const vectorleader_) : ggf(varindex_, transport_operator_, t_, d_, prolongation_order_time_, vectorlength_, vectorindex_, vectorleader_) { // recompose (); recompose_crop (); for (int rl=0; rl gf::~gf () { } // Access to the data template const data* gf::operator() (int tl, int rl, int c, int ml) const { assert (rl>=0 and rl=0 and c=0 and ml=0 and tl*)storage.at(ml).at(rl).at(c).at(tl); } template data* gf::operator() (int tl, int rl, int c, int ml) { assert (rl>=0 and rl=0 and c=0 and ml=0 and tl*)storage.at(ml).at(rl).at(c).at(tl); } // Output template ostream& gf::output (ostream& os) const { T Tdummy; os << "gf<" << typestring(Tdummy) << ">:" << varindex << "[" << CCTK_VarName(varindex) << "]," << "tls=" << timelevels_; return os; } #define INSTANTIATE(T) \ template class gf; #include "instantiate" #undef INSTANTIATE