Go to the documentation of this file.
35 bool info_(std::ostream& os, uint idx,
const Node* nd)
const;
82 std::ostream&
info(std::ostream& os)
const;
95 inline float memory()
const;
103 std::ostream&
info(std::ostream& os, uint idx)
const;
109 + (
float)ncol_ * (
sizeof(
XYCol) + (col_ ? col_->val->memory() : 0))
110 + (float)nfnc_ * (
sizeof(
XYFnc) + blksz_ *
sizeof(
F));
133 inline float memory()
const;
145 inline std::ostream&
info(std::ostream& os)
const;
150 :
XY01<Node>(tree, exp) {
172 os <<
", mem = " << memory() / 1024.0 <<
"KB)";
201 inline float memory()
const;
213 inline std::ostream&
info(std::ostream& os)
const;
218 :
XY01<Node>(tree, exp) {
240 os <<
", mem = " << memory() / 1024.0 <<
"KB)";
251 #endif // clusterXY01_hh
const concepts::Space< F > & space() const
Space.
const uint nfnc_
Number of auxiliary vectors.
float memory() const
Size of memory used by Y01 in Bytes.
std::ostream & info(std::ostream &os, uint idx) const
Detailed information about the unknown idx.
const concepts::Space< F > & space() const
Space.
Data structure to hold the expansion coefficients.
Abstract class for a space.
Data structure for auxiliary vectors (one vector per cluster)
XYFnc * fnc_
Auxiliary vectors.
std::ostream & info(std::ostream &os) const
Basic information about the far field X, Y.
bool info_(std::ostream &os, uint idx, const Node *nd) const
Information method used for recursive calls from info(os, idx)
void zero()
Sets auxiliary vectors to zero.
const Tree< Node > & tree_
XY01< Node >::XYCol XYCol
TreeTraits< Node > Traits
Interface for the far field X, Y.
float memory() const
Size of memory used by XY01 in Bytes.
void scatter(const concepts::Vector< F > &fnc)
std::ostream & info(std::ostream &os) const
Returns information in an output stream.
const ExpansionXY< F > & exp_
Kernel expansion.
F * pval
Auxiliary vector of parent cluster.
XY01< Node >::XYFnc XYFnc
X01(const Tree< Node > &tree, const ExpansionXY< F > &exp)
ClstY< Node >::Traits Traits
Interface for the far field Y.
F * operator[](uint i) const
Returns the i-th auxiliary vector (vector corresponding to the i-th cluster)
Interface class for a node in a cluster tree.
std::ostream & info(std::ostream &os) const
Returns information in an output stream.
void zero()
Sets the auxiliary vectors to zero.
Abstract class for the far field matrix Y.
float memory() const
Size of memory used by X01 in Bytes.
const concepts::Space< F > & space() const
Space of the tree.
XY01< Node >::XYFnc XYFnc
XY01< Node >::XYCol XYCol
Class to hide some implementation details of the far field matrices X, Y.
Abstract class to hold the expansion coefficients.
Class for far field part X.
Class for far field part Y.
void zero()
Sets the auxiliary vectors to zero.
const Tree< Node > & tree() const
Cluster tree.
XYCol(XYColExp *value)
Constructor.
const Tree< Node > & tree() const
Cluster tree.
void constructor_(const Node *chld, const Node *prnt)
Constructor for recursive calls throw MissingFeature.
ClstX< Node >::Traits Traits
Interface for the far field X.
F * val
One auxiliary vector.
Abstract class for the and the part of a kernel expansion.
Node::CF F
Field of the node (Real or Cmplx)
XYCol * col_
Expansion coefficients.
Abstract class for the far field matrix X.
uint ncol_
Number of expansion coefficients.
XYColExp * val
Vector of expansion coefficients.
Used for the cluster classes for the boundary element method.
const Tree< Node > & tree() const
Cluster tree.
F * operator[](uint i) const
Returns the i-th auxiliary vector (vector corresponding to the i-th cluster)
void gather(concepts::Vector< F > &fnc)
const uint blksz_
Size of memory used for the expansion.
Y01(const Tree< Node > &tree, const ExpansionXY< F > &exp)
XY01(const Tree< Node > &tree, const ExpansionXY< F > &exp)
Constructor.
F * fncval
Pointer to auxiliary vector.
concepts::Real3d z
Shift vector.
XYCol * lnk
Coefficients of next DoF.
std::string typeOf(const T &t)
Return the typeid name of a class object.
const concepts::Space< F > & space() const
Space.
F * operator[](uint i) const
Returns i-th auxiliary vector.