Tensor< D, T, EngineTag > Class Template Reference

Tensor is an interface class that takes three template parameters: More...

#include <Tensor.h>

List of all members.

Public Types

enum  { dimensions = 2 }
enum  { d = D }
typedef T Element_t
typedef EngineTag EngineTag_t
typedef TensorEngine< D, T,
EngineTag > 
Engine_t
typedef Engine_t::ElementRef_t ElementRef_t
typedef Engine_t::ConstElementRef_t ConstElementRef_t
typedef Tensor< D, T, EngineTag > This_t

Public Member Functions

 Tensor ()
 Tensor (const This_t &x)
template<int D2, class T2 , class EngineTag2 >
 Tensor (const Tensor< D2, T2, EngineTag2 > &x)
template<class X >
 Tensor (const X &x)
template<class X1 , class X2 >
 Tensor (const X1 &x, const X2 &y)
template<class X1 , class X2 , class X3 >
 Tensor (const X1 &x, const X2 &y, const X3 &z)
template<class X1 , class X2 , class X3 , class X4 >
 Tensor (const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4)
template<class X1 , class X2 , class X3 , class X4 , class X5 >
 Tensor (const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5)
template<class X1 , class X2 , class X3 , class X4 , class X5 , class X6 >
 Tensor (const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, const X6 &x6)
template<class X1 , class X2 , class X3 , class X4 , class X5 , class X6 , class X7 >
 Tensor (const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, const X6 &x6, const X7 &x7)
template<class X1 , class X2 , class X3 , class X4 , class X5 , class X6 , class X7 , class X8 >
 Tensor (const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, const X6 &x6, const X7 &x7, const X8 &x8)
template<class X1 , class X2 , class X3 , class X4 , class X5 , class X6 , class X7 , class X8 , class X9 >
 Tensor (const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, const X6 &x6, const X7 &x7, const X8 &x8, const X9 &x9)
 ~Tensor ()
This_toperator= (const This_t &x)
template<class T1 , class EngineTag1 >
This_toperator= (const Tensor< d, T1, EngineTag1 > &x)
template<class V >
This_toperator= (const V &x)
ConstElementRef_t operator() (int i, int j) const
ElementRef_t operator() (int i, int j)
ConstElementRef_t operator() (int i) const
ElementRef_t operator() (int i)
const Engine_tengine () const
Engine_tengine ()
template<class Out >
void print (Out &out) const
 Output to a stream.
void reverseBytes ()


Detailed Description

template<int D, class T = double, class EngineTag = Full>
class Tensor< D, T, EngineTag >

Tensor is an interface class that takes three template parameters:

That is, the tensor is a DxD object. For a non-square tiny object of this nature, which wouldn't be a tensor mathematically, use the TinyMatrix class.


Member Typedef Documentation

template<int D, class T = double, class EngineTag = Full>
typedef T Tensor< D, T, EngineTag >::Element_t

template<int D, class T = double, class EngineTag = Full>
typedef EngineTag Tensor< D, T, EngineTag >::EngineTag_t

template<int D, class T = double, class EngineTag = Full>
typedef TensorEngine<D,T,EngineTag> Tensor< D, T, EngineTag >::Engine_t

template<int D, class T = double, class EngineTag = Full>
typedef Engine_t::ElementRef_t Tensor< D, T, EngineTag >::ElementRef_t

template<int D, class T = double, class EngineTag = Full>
typedef Engine_t::ConstElementRef_t Tensor< D, T, EngineTag >::ConstElementRef_t

template<int D, class T = double, class EngineTag = Full>
typedef Tensor<D,T,EngineTag> Tensor< D, T, EngineTag >::This_t


Member Enumeration Documentation

template<int D, class T = double, class EngineTag = Full>
anonymous enum

Enumerator:
dimensions 

template<int D, class T = double, class EngineTag = Full>
anonymous enum

Enumerator:
d 


Constructor & Destructor Documentation

template<int D, class T = double, class EngineTag = Full>
Tensor< D, T, EngineTag >::Tensor (  )  [inline]

template<int D, class T = double, class EngineTag = Full>
Tensor< D, T, EngineTag >::Tensor ( const This_t x  )  [inline]

template<int D, class T = double, class EngineTag = Full>
template<int D2, class T2 , class EngineTag2 >
Tensor< D, T, EngineTag >::Tensor ( const Tensor< D2, T2, EngineTag2 > &  x  )  [inline]

template<int D, class T = double, class EngineTag = Full>
template<class X >
Tensor< D, T, EngineTag >::Tensor ( const X &  x  )  [inline, explicit]

template<int D, class T = double, class EngineTag = Full>
template<class X1 , class X2 >
Tensor< D, T, EngineTag >::Tensor ( const X1 &  x,
const X2 &  y 
) [inline]

template<int D, class T = double, class EngineTag = Full>
template<class X1 , class X2 , class X3 >
Tensor< D, T, EngineTag >::Tensor ( const X1 &  x,
const X2 &  y,
const X3 &  z 
) [inline]

template<int D, class T = double, class EngineTag = Full>
template<class X1 , class X2 , class X3 , class X4 >
Tensor< D, T, EngineTag >::Tensor ( const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
const X4 &  x4 
) [inline]

template<int D, class T = double, class EngineTag = Full>
template<class X1 , class X2 , class X3 , class X4 , class X5 >
Tensor< D, T, EngineTag >::Tensor ( const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
const X4 &  x4,
const X5 &  x5 
) [inline]

template<int D, class T = double, class EngineTag = Full>
template<class X1 , class X2 , class X3 , class X4 , class X5 , class X6 >
Tensor< D, T, EngineTag >::Tensor ( const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
const X4 &  x4,
const X5 &  x5,
const X6 &  x6 
) [inline]

template<int D, class T = double, class EngineTag = Full>
template<class X1 , class X2 , class X3 , class X4 , class X5 , class X6 , class X7 >
Tensor< D, T, EngineTag >::Tensor ( const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
const X4 &  x4,
const X5 &  x5,
const X6 &  x6,
const X7 &  x7 
) [inline]

template<int D, class T = double, class EngineTag = Full>
template<class X1 , class X2 , class X3 , class X4 , class X5 , class X6 , class X7 , class X8 >
Tensor< D, T, EngineTag >::Tensor ( const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
const X4 &  x4,
const X5 &  x5,
const X6 &  x6,
const X7 &  x7,
const X8 &  x8 
) [inline]

template<int D, class T = double, class EngineTag = Full>
template<class X1 , class X2 , class X3 , class X4 , class X5 , class X6 , class X7 , class X8 , class X9 >
Tensor< D, T, EngineTag >::Tensor ( const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
const X4 &  x4,
const X5 &  x5,
const X6 &  x6,
const X7 &  x7,
const X8 &  x8,
const X9 &  x9 
) [inline]

template<int D, class T = double, class EngineTag = Full>
Tensor< D, T, EngineTag >::~Tensor (  )  [inline]


Member Function Documentation

template<int D, class T = double, class EngineTag = Full>
This_t& Tensor< D, T, EngineTag >::operator= ( const This_t x  )  [inline]

template<int D, class T = double, class EngineTag = Full>
template<class T1 , class EngineTag1 >
This_t& Tensor< D, T, EngineTag >::operator= ( const Tensor< d, T1, EngineTag1 > &  x  )  [inline]

template<int D, class T = double, class EngineTag = Full>
template<class V >
This_t& Tensor< D, T, EngineTag >::operator= ( const V &  x  )  [inline]

template<int D, class T = double, class EngineTag = Full>
ConstElementRef_t Tensor< D, T, EngineTag >::operator() ( int  i,
int  j 
) const [inline]

template<int D, class T = double, class EngineTag = Full>
ElementRef_t Tensor< D, T, EngineTag >::operator() ( int  i,
int  j 
) [inline]

template<int D, class T = double, class EngineTag = Full>
ConstElementRef_t Tensor< D, T, EngineTag >::operator() ( int  i  )  const [inline]

template<int D, class T = double, class EngineTag = Full>
ElementRef_t Tensor< D, T, EngineTag >::operator() ( int  i  )  [inline]

template<int D, class T = double, class EngineTag = Full>
const Engine_t& Tensor< D, T, EngineTag >::engine (  )  const [inline]

template<int D, class T = double, class EngineTag = Full>
Engine_t& Tensor< D, T, EngineTag >::engine (  )  [inline]

template<int D, class T , class EngineTag >
template<class Out >
void Tensor< D, T, EngineTag >::print ( Out &  out  )  const [inline]

Output to a stream.

The format is: ((t(0,0) t(0,1),... ) ( t(1,0) t(1,1) ... ) ... ))

template<int D, class T = double, class EngineTag = Full>
void Tensor< D, T, EngineTag >::reverseBytes (  )  [inline]


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

Generated on Wed Mar 16 06:20:38 2011 for FreePOOMA by  doxygen 1.5.9