CrystArray3D< T > Class Template Reference
3D Vector (Blitz++ mimic) for ObjCryst++
More...
Collaboration diagram for CrystArray3D< T >:
[legend]List of all members.
|
Public Member Functions |
| CrystArray3D () |
| CrystArray3D (const long zSize, const long ySize, const long xSize) |
| CrystArray3D (const CrystArray3D &old) |
| ~CrystArray3D () |
void | operator= (const CrystArray3D &old) |
void | reference (CrystArray3D &old) |
long | numElements () const |
T | sum () const |
T | min () const |
T | max () const |
long | rows () const |
long | cols () const |
long | depth () const |
T * | data () |
const T * | data () const |
void | resize (const long zSize, const long ySize, const long xSize) |
void | resizeAndPreserve (const long zSize, const long ySize, const long xSize) |
void | operator= (const T num) |
void | operator *= (const T num) |
void | operator *= (const CrystArray3D &vect) |
void | operator/= (const T num) |
void | operator+= (const T num) |
void | operator-= (const T num) |
T | operator() (const long i) const |
T | operator() (const long depth, const long row, const long col) const |
T & | operator() (const long i) |
T & | operator() (const long depth, const long row, const long col) |
Private Attributes |
T * | mpData |
long | mNumElements |
long | mXSize |
long | mYSize |
long | mZSize |
bool | mIsAreference |
Detailed Description
template<class T>
class CrystArray3D< T >
3D Vector (Blitz++ mimic) for ObjCryst++
The CrystVector library is not a new array computation library, despite the appearances. ObjCryst++ should used the Blitz++ array library , which yields excellent performance and simple array expressions. Unfortunately, the memory required to compile the library using gcc is far too high to be reasonable when using complex expressions and optimizing code. So until this has changed, The CrystVector and CrystMatrix library have been created, and these emulate (supposedly exactly) the Blitz++ interface (but not the smart handling of mathematical expressions, so pointers must be used). For documentation about these two libraries you should read the Blitz++ documentation. CrystVector and CrystMatrix use the same kind of storage in memory.
You can use CrystArray3D_REAL, CrystArray3D_long,etc... to declare 3D vectors. Macros ensure (well, should) ensure compatibility with Blitz++. (as of april 2001 support of blitz++ is broken).
Constructor & Destructor Documentation
Member Function Documentation
template<class T> |
const T* CrystArray3D< T >::data |
( |
|
) |
const |
|
template<class T> |
long CrystArray3D< T >::numElements |
( |
|
) |
const |
|
template<class T> |
void CrystArray3D< T >::operator *= |
( |
const T |
num |
) |
|
|
template<class T> |
T& CrystArray3D< T >::operator() |
( |
const long |
depth, |
|
|
const long |
row, |
|
|
const long |
col |
|
) |
|
|
template<class T> |
T& CrystArray3D< T >::operator() |
( |
const long |
i |
) |
|
|
template<class T> |
T CrystArray3D< T >::operator() |
( |
const long |
depth, |
|
|
const long |
row, |
|
|
const long |
col |
|
) |
const |
|
template<class T> |
T CrystArray3D< T >::operator() |
( |
const long |
i |
) |
const |
|
template<class T> |
void CrystArray3D< T >::operator+= |
( |
const T |
num |
) |
|
|
template<class T> |
void CrystArray3D< T >::operator-= |
( |
const T |
num |
) |
|
|
template<class T> |
void CrystArray3D< T >::operator/= |
( |
const T |
num |
) |
|
|
template<class T> |
void CrystArray3D< T >::operator= |
( |
const T |
num |
) |
|
|
template<class T> |
void CrystArray3D< T >::resize |
( |
const long |
zSize, |
|
|
const long |
ySize, |
|
|
const long |
xSize |
|
) |
|
|
template<class T> |
void CrystArray3D< T >::resizeAndPreserve |
( |
const long |
zSize, |
|
|
const long |
ySize, |
|
|
const long |
xSize |
|
) |
|
|
Member Data Documentation
The documentation for this class was generated from the following file:
Generated on Tue Nov 14 15:03:29 2006 for ObjCryst++ by
1.3.6