Symmetric tensor base class. More...
#include <WTensorBase.h>
Classes | |
class | PositionIndexer |
A class that maps symmetric tensor indices to vector positions. More... | |
Public Member Functions | |
WTensorBaseSym () | |
Standard constructor. | |
WTensorBaseSym (const WValue< Data_T > &data) | |
Constructs the symmetrical tensor and initialize with the given data. | |
WTensorBaseSym (WTensorBaseSym const &t) | |
Copy constructor. | |
WTensorBaseSym const & | operator= (WTensorBaseSym const &t) |
Copy operator. | |
std::size_t | getDimension () const |
Get the dimension of this tensor. | |
std::size_t | getOrder () const |
Get the order of this tensor. | |
template<typename Index_T > | |
Data_T & | operator[] (std::vector< Index_T > const &indices) |
Get the element at a specific position. | |
template<typename Index_T > | |
Data_T const & | operator[] (std::vector< Index_T > const &indices) const |
Get the element at a specific position. | |
template<typename Index_T > | |
Data_T & | operator[] (Index_T indices[]) |
Get the element at a specific position. | |
template<typename Index_T > | |
Data_T const & | operator[] (Index_T indices[]) const |
Get the element at a specific position. | |
bool | operator== (WTensorBaseSym const &other) const |
Compare this WTensorBaseSym to another one. | |
bool | operator!= (WTensorBaseSym const &other) const |
Compare this WTensorBaseSym to another one. | |
Private Types | |
enum | { dataSize = WBinom< order + dim - 1, value } |
Declare a compile-time constant as enum and not as static constant. More... | |
Private Member Functions | |
BOOST_STATIC_ASSERT (dim!=0) | |
For dim == 0, create an artificial compiler error. | |
Private Attributes | |
std::vector< Data_T > | m_data |
Stores the elements of this tensor lexicographical ordered on their indices, where for each set of permutations the lexicographical lowest index is used. | |
Static Private Attributes | |
static PositionIndexer const | m_indexer |
A static PositionIndexer that maps tensor indices to vector positions. | |
Friends | |
class | ::WTensorBaseSymTest |
class | ::WTensorFuncTest |
Symmetric tensor base class.
order | The order of the tensor. | |
dim | The dimension of the tensor, i.e. the number of components in each direction. | |
Data_T | The datatype of the components, double by default. |
Definition at line 641 of file WTensorBase.h.
anonymous enum [private] |
Declare a compile-time constant as enum and not as static constant.
Definition at line 773 of file WTensorBase.h.
WTensorBaseSym< order, dim, Data_T >::WTensorBaseSym | ( | ) |
Standard constructor.
All elements are set to Data_T().
Definition at line 882 of file WTensorBase.h.
WTensorBaseSym< order, dim, Data_T >::WTensorBaseSym | ( | const WValue< Data_T > & | data | ) | [explicit] |
Constructs the symmetrical tensor and initialize with the given data.
data | The components of the symmetrical tensor: Take care of the ordering of the components to match the ordering in |
Definition at line 888 of file WTensorBase.h.
References WTensorBaseSym< order, dim, Data_T >::dataSize, and WTensorBaseSym< order, dim, Data_T >::m_data.
WTensorBaseSym< order, dim, Data_T >::WTensorBaseSym | ( | WTensorBaseSym< order, dim, Data_T > const & | t | ) |
Copy constructor.
t | The tensor to copy from. |
Definition at line 895 of file WTensorBase.h.
WTensorBaseSym< order, dim, Data_T >::BOOST_STATIC_ASSERT | ( | dim! | = 0 |
) | [private] |
For dim == 0, create an artificial compiler error.
std::size_t WTensorBaseSym< order, dim, Data_T >::getDimension | ( | ) | const |
Get the dimension of this tensor.
Definition at line 908 of file WTensorBase.h.
std::size_t WTensorBaseSym< order, dim, Data_T >::getOrder | ( | ) | const |
Get the order of this tensor.
Definition at line 914 of file WTensorBase.h.
bool WTensorBaseSym< order, dim, Data_T >::operator!= | ( | WTensorBaseSym< order, dim, Data_T > const & | other | ) | const |
Compare this WTensorBaseSym to another one.
other | The WTensorBaseSym to compare to. |
Definition at line 957 of file WTensorBase.h.
References WTensorBaseSym< order, dim, Data_T >::m_data.
WTensorBaseSym< order, dim, Data_T > const & WTensorBaseSym< order, dim, Data_T >::operator= | ( | WTensorBaseSym< order, dim, Data_T > const & | t | ) |
Copy operator.
t | The tensor to copy from. |
Definition at line 901 of file WTensorBase.h.
References WTensorBaseSym< order, dim, Data_T >::m_data.
bool WTensorBaseSym< order, dim, Data_T >::operator== | ( | WTensorBaseSym< order, dim, Data_T > const & | other | ) | const |
Compare this WTensorBaseSym to another one.
other | The WTensorBaseSym to compare to. |
Definition at line 951 of file WTensorBase.h.
References WTensorBaseSym< order, dim, Data_T >::m_data.
Data_T & WTensorBaseSym< order, dim, Data_T >::operator[] | ( | Index_T | indices[] | ) |
Get the element at a specific position.
indices | An array of indices that has a size of at least order. |
Definition at line 936 of file WTensorBase.h.
Data_T const & WTensorBaseSym< order, dim, Data_T >::operator[] | ( | Index_T | indices[] | ) | const |
Get the element at a specific position.
indices | An array of indices that has a size of at least order. |
Definition at line 943 of file WTensorBase.h.
References WTensorBaseSym< order, dim, Data_T >::m_data, and WTensorBaseSym< order, dim, Data_T >::m_indexer.
Data_T & WTensorBaseSym< order, dim, Data_T >::operator[] | ( | std::vector< Index_T > const & | indices | ) |
Get the element at a specific position.
indices | A std::vector of indices that has a size of at least order. |
Definition at line 921 of file WTensorBase.h.
Referenced by WTensorBaseSym< order, dim, Data_T >::operator[]().
Data_T const & WTensorBaseSym< order, dim, Data_T >::operator[] | ( | std::vector< Index_T > const & | indices | ) | const |
Get the element at a specific position.
indices | A std::vector of indices that has a size of at least order. |
Definition at line 928 of file WTensorBase.h.
References WTensorBaseSym< order, dim, Data_T >::operator[]().
std::vector< Data_T > WTensorBaseSym< order, dim, Data_T >::m_data [private] |
Stores the elements of this tensor lexicographical ordered on their indices, where for each set of permutations the lexicographical lowest index is used.
Definition at line 768 of file WTensorBase.h.
Referenced by WTensorBaseSym< 0, dim, Data_T >::operator!=(), WTensorBaseSym< order, dim, Data_T >::operator!=(), WTensorBaseSym< 0, dim, Data_T >::operator=(), WTensorBaseSym< order, dim, Data_T >::operator=(), WTensorBaseSym< 0, dim, Data_T >::operator==(), WTensorBaseSym< order, dim, Data_T >::operator==(), WTensorBaseSym< 0, dim, Data_T >::operator[](), WTensorBaseSym< order, dim, Data_T >::operator[](), and WTensorBaseSym< order, dim, Data_T >::WTensorBaseSym().
WTensorBaseSym< order, dim, Data_T >::PositionIndexer const WTensorBaseSym< order, dim, Data_T >::m_indexer [static, private] |
A static PositionIndexer that maps tensor indices to vector positions.
Definition at line 823 of file WTensorBase.h.
Referenced by WTensorBaseSym< order, dim, Data_T >::operator[]().