Ensign
Low-rank framework for multi-core CPUs and GPUs
Loading...
Searching...
No Matches
Ensign::internal_node< T > Struct Template Reference

Represents an internal tree node with a coefficient tensor. More...

#include <tree.hpp>

+ Inheritance diagram for Ensign::internal_node< T >:

Public Member Functions

 internal_node (const std::string _id, internal_node *const _parent, const Index _r_in, const std::array< Index, 2 > _r_out, const Index _n_basisfunctions)
 
bool IsInternal () const override
 
bool IsExternal () const override
 
std::array< Index, 2 > RankOut () const
 
void Initialize (int ncid) override
 
void Write (int ncid, int id_r_in, std::array< int, 2 > id_r_out) const
 
Ensign::multi_array< T, 2 > orthogonalize (const T weight, const Ensign::Matrix::blas_ops &blas)
 
- Public Member Functions inherited from Ensign::node< T >
 node ()=default
 
 node (const std::string _id, node *const _parent, std::array< node *, 2 > _child, const Index _r_in, const Index _n_basisfunctions)
 
virtual ~node ()=default
 
Index RankIn () const
 

Public Attributes

Ensign::multi_array< T, 3 > Q
 
Ensign::multi_array< T, 3 > G
 
- Public Attributes inherited from Ensign::node< T >
const std::string id
 
node *const parent
 
std::array< node *, 2 > child
 
const Index n_basisfunctions
 
Ensign::multi_array< T, 2 > S
 

Detailed Description

template<class T>
struct Ensign::internal_node< T >

Represents an internal tree node with a coefficient tensor.

Definition at line 66 of file tree.hpp.

Constructor & Destructor Documentation

◆ internal_node()

template<class T >
Ensign::internal_node< T >::internal_node ( const std::string  _id,
internal_node< T > *const  _parent,
const Index  _r_in,
const std::array< Index, 2 >  _r_out,
const Index  _n_basisfunctions 
)
inline

Definition at line 70 of file tree.hpp.

Member Function Documentation

◆ Initialize()

template<class T >
void Ensign::internal_node< T >::Initialize ( int  ncid)
overridevirtual

Implements Ensign::node< T >.

◆ IsExternal()

template<class T >
bool Ensign::internal_node< T >::IsExternal ( ) const
inlineoverridevirtual

Implements Ensign::node< T >.

Definition at line 80 of file tree.hpp.

◆ IsInternal()

template<class T >
bool Ensign::internal_node< T >::IsInternal ( ) const
inlineoverridevirtual

Implements Ensign::node< T >.

Definition at line 78 of file tree.hpp.

◆ orthogonalize()

template<class T >
Ensign::multi_array< T, 2 > Ensign::internal_node< T >::orthogonalize ( const T  weight,
const Ensign::Matrix::blas_ops &  blas 
)

Definition at line 121 of file tree.hpp.

◆ RankOut()

template<class T >
std::array< Index, 2 > Ensign::internal_node< T >::RankOut ( ) const
inline

Definition at line 82 of file tree.hpp.

◆ Write()

template<class T >
void Ensign::internal_node< T >::Write ( int  ncid,
int  id_r_in,
std::array< int, 2 >  id_r_out 
) const

Member Data Documentation

◆ G

template<class T >
Ensign::multi_array<T, 3> Ensign::internal_node< T >::G

Definition at line 68 of file tree.hpp.

◆ Q

template<class T >
Ensign::multi_array<T, 3> Ensign::internal_node< T >::Q

Definition at line 67 of file tree.hpp.


The documentation for this struct was generated from the following file: