SeldonData::Data< T, N, TG > Class Template Reference

Data class. More...

#include <Data.hxx>

List of all members.

Public Member Functions

 Data () throw ()
 Default constructor.
 Data (Grid< TG > &G0) throw ()
 Constructor for one-dimensional data.
 Data (Grid< TG > &G0, Grid< TG > &G1) throw ()
 Constructor for two-dimensional data.
 Data (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2) throw ()
 Constructor for three-dimensional data.
 Data (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3) throw ()
 Constructor for four-dimensional data.
 Data (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4) throw ()
 Constructor for five-dimensional data.
 Data (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5) throw ()
 Constructor for six-dimensional data.
 Data (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5, Grid< TG > &G6) throw ()
 Constructor for seven-dimensional data.
 Data (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5, Grid< TG > &G6, Grid< TG > &G7) throw ()
 Constructor for eight-dimensional data.
 Data (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5, Grid< TG > &G6, Grid< TG > &G7, Grid< TG > &G8) throw ()
 Constructor for nine-dimensional data.
 Data (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5, Grid< TG > &G6, Grid< TG > &G7, Grid< TG > &G8, Grid< TG > &G9) throw ()
 Constructor for ten-dimensional data.
 Data (int N0) throw ()
 Constructor for one-dimensional data.
 Data (int N0, int N1) throw ()
 Constructor for two-dimensional data.
 Data (int N0, int N1, int N2) throw ()
 Constructor for three-dimensional data.
 Data (int N0, int N1, int N2, int N3) throw ()
 Constructor for four-dimensional data.
 Data (int N0, int N1, int N2, int N3, int N4) throw ()
 Constructor for five-dimensional data.
 Data (int N0, int N1, int N2, int N3, int N4, int N5) throw ()
 Constructor for six-dimensional data.
 Data (int N0, int N1, int N2, int N3, int N4, int N5, int N6) throw ()
 Constructor for seven-dimensional data.
 Data (int N0, int N1, int N2, int N3, int N4, int N5, int N6, int N7) throw ()
 Constructor for eight-dimensional data.
 Data (int N0, int N1, int N2, int N3, int N4, int N5, int N6, int N7, int N8) throw ()
 Constructor for nine-dimensional data.
 Data (int N0, int N1, int N2, int N3, int N4, int N5, int N6, int N7, int N8, int N9) throw ()
 Constructor for ten-dimensional data.
 Data (const TinyVector< int, N > &shape) throw ()
 Constructor.
 Data (T *data, const TinyVector< int, N > &shape, preexistingMemoryPolicy policy=neverDeleteData) throw ()
 Constructor.
template<class T0>
 Data (Data< T0, N, TG > &data) throw ()
 Copy constructor.
 ~Data () throw ()
 Destructor.
T & operator() (int i0)
 Access operator for one-dimensional data.
T & operator() (int i0, int i1)
 Access operator for two-dimensional data.
T & operator() (int i0, int i1, int i2)
 Access operator for three-dimensional data.
T & operator() (int i0, int i1, int i2, int i3)
 Access operator for four-dimensional data.
T & operator() (int i0, int i1, int i2, int i3, int i4)
 Access operator for five-dimensional data.
T & operator() (int i0, int i1, int i2, int i3, int i4, int i5)
 Access operator for six-dimensional data.
T & operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6)
 Access operator for seven-dimensional data.
T & operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7)
 Access operator for eight-dimensional data.
T & operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8)
 Access operator for nine-dimensional data.
T & operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9)
 Access operator for ten-dimensional data.
operator() (int i0) const
 Access operator for one-dimensional data.
operator() (int i0, int i1) const
 Access operator for two-dimensional data.
operator() (int i0, int i1, int i2) const
 Access operator for three-dimensional data.
operator() (int i0, int i1, int i2, int i3) const
 Access operator for four-dimensional data.
operator() (int i0, int i1, int i2, int i3, int i4) const
 Access operator for five-dimensional data.
operator() (int i0, int i1, int i2, int i3, int i4, int i5) const
 Access operator for six-dimensional data.
operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6) const
 Access operator for seven-dimensional data.
operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7) const
 Access operator for eight-dimensional data.
operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8) const
 Access operator for nine-dimensional data.
operator() (int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9) const
 Access operator for ten-dimensional data.
T & operator() (const Array< int, 1 > &indices)
 Access operator.
T & Value (int i0, int i1=-1, int i2=-1, int i3=-1, int i4=-1, int i5=-1, int i6=-1, int i7=-1, int i8=-1, int i9=-1)
 General access function.
Value (int i0, int i1=-1, int i2=-1, int i3=-1, int i4=-1, int i5=-1, int i6=-1, int i7=-1, int i8=-1, int i9=-1) const
 General access function.
template<class T0>
void Copy (Data< T0, N, TG > &data)
 Performs a copy (duplication) of data.
template<class T0>
void ReferenceCopy (Data< T0, N, TG > &data)
 Performs a reference copy of data.
int GetNbElements ()
 Returns the number of stored elements.
int GetNbDim ()
 Returns the number of dimensions.
int GetLength (int dim) const
 Returns length along dimension i.
Grid< TG > * GetGrid (int i)
 Returns a pointer to the grid i.
Grid< TG > & operator[] (int i)
 Returns a reference to the grid i.
const Grid< TG > & operator[] (int i) const
 Returns a reference to the grid i.
Array< Grid< TG > *, 1 > & GetGrids ()
 Returns the array of pointers to grids.
Array< T, N > & GetArray ()
 Returns the blitz::Array storing elements.
Array< T, N > & operator() ()
 Returns the blitz::Array storing elements.
T * GetData ()
 Returns the array storing elements.
const T * GetData () const
 Returns the array storing elements.
template<class DTG, class R0>
void SubData (Data< T, 1, DTG > &, R0 r0)
 Extracts data.
template<class DTG, class R0, class R1>
void SubData (Data< T, 2, DTG > &, R0 r0, R1 r1)
 Extracts data.
template<class DTG, class R0, class R1, class R2>
void SubData (Data< T, 3, DTG > &, R0 r0, R1 r1, R2 r2)
 Extracts data.
template<class DTG, class R0, class R1, class R2, class R3>
void SubData (Data< T, 4, DTG > &, R0 r0, R1 r1, R2 r2, R3 r3)
 Extracts data.
template<class DTG, class R0, class R1, class R2, class R3, class R4>
void SubData (Data< T, 5, DTG > &, R0 r0, R1 r1, R2 r2, R3 r3, R4 r4)
 Extracts data.
template<class DTG, class R0, class R1, class R2, class R3, class R4, class R5>
void SubData (Data< T, 6, DTG > &, R0 r0, R1 r1, R2 r2, R3 r3, R4 r4, R5 r5)
 Extracts data.
template<class DTG, class R0, class R1, class R2, class R3, class R4, class R5, class R6>
void SubData (Data< T, 7, DTG > &, R0 r0, R1 r1, R2 r2, R3 r3, R4 r4, R5 r5, R6 r6)
 Extracts data.
template<class DTG, class R0, class R1, class R2, class R3, class R4, class R5, class R6, class R7>
void SubData (Data< T, 8, DTG > &, R0 r0, R1 r1, R2 r2, R3 r3, R4 r4, R5 r5, R6 r6, R7 r7)
 Extracts data.
template<class DTG, class R0, class R1, class R2, class R3, class R4, class R5, class R6, class R7, class R8>
void SubData (Data< T, 9, DTG > &, R0 r0, R1 r1, R2 r2, R3 r3, R4 r4, R5 r5, R6 r6, R7 r7, R8 r8)
 Extracts data.
template<class DTG, class R0, class R1, class R2, class R3, class R4, class R5, class R6, class R7, class R8, class R9>
void SubData (Data< T, 10, DTG > &, R0 r0, R1 r1, R2 r2, R3 r3, R4 r4, R5 r5, R6 r6, R7 r7, R8 r8, R9 r9)
 Extracts data.
void ResizeGrid ()
void ResizeGrid (Grid< TG > &G0)
 Resize the grid.
void ResizeGrid (Grid< TG > &G0, Grid< TG > &G1)
 Resizes grids.
void ResizeGrid (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2)
 Resizes the grids.
void ResizeGrid (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3)
 Resizes the grids.
void ResizeGrid (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4)
 Resizes the grids.
void ResizeGrid (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5)
 Resizes the grids.
void ResizeGrid (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5, Grid< TG > &G6)
 Resizes the grids.
void ResizeGrid (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5, Grid< TG > &G6, Grid< TG > &G7)
 Resizes the grids.
void ResizeGrid (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5, Grid< TG > &G6, Grid< TG > &G7, Grid< TG > &G8)
 Resizes the grids.
void ResizeGrid (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5, Grid< TG > &G6, Grid< TG > &G7, Grid< TG > &G8, Grid< TG > &G9)
 Resizes the grids.
void ResizeGrid (int N0)
 Resizes the grid.
void ResizeGrid (int N0, int N1)
 Resizes the grids.
void ResizeGrid (int N0, int N1, int N2)
 Resizes the grids.
void ResizeGrid (int N0, int N1, int N2, int N3)
 Resizes the grids.
void ResizeGrid (int N0, int N1, int N2, int N3, int N4)
 Resizes the grids.
void ResizeGrid (int N0, int N1, int N2, int N3, int N4, int N5)
 Resizes the grids.
void ResizeGrid (int N0, int N1, int N2, int N3, int N4, int N5, int N6)
 Resizes the grids.
void ResizeGrid (int N0, int N1, int N2, int N3, int N4, int N5, int N6, int N7)
 Resizes the grids.
void ResizeGrid (int N0, int N1, int N2, int N3, int N4, int N5, int N6, int N7, int N8)
 Resizes the grids.
void ResizeGrid (int N0, int N1, int N2, int N3, int N4, int N5, int N6, int N7, int N8, int N9)
 Resizes the grids.
void Resize ()
 Clears the data.
void Resize (Grid< TG > &G0)
 Resizes an one-dimensional data.
void Resize (Grid< TG > &G0, Grid< TG > &G1)
 Resizes a two-dimensional data.
void Resize (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2)
 Resizes a three-dimensional data.
void Resize (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3)
 Resizes a four-dimensional data.
void Resize (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4)
 Resizes a five-dimensional data.
void Resize (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5)
 Resizes a six-dimensional data.
void Resize (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5, Grid< TG > &G6)
 Resizes a seven-dimensional data.
void Resize (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5, Grid< TG > &G6, Grid< TG > &G7)
 Resizes an eight-dimensional data.
void Resize (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5, Grid< TG > &G6, Grid< TG > &G7, Grid< TG > &G8)
 Resizes a nine-dimensional data.
void Resize (Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5, Grid< TG > &G6, Grid< TG > &G7, Grid< TG > &G8, Grid< TG > &G9)
 Resizes a ten-dimensional data.
void Resize (int N0)
 Resizes an one-dimensional data.
void Resize (int N0, int N1)
 Resizes a two-dimensional data.
void Resize (int N0, int N1, int N2)
 Resizes a three-dimensional data.
void Resize (int N0, int N1, int N2, int N3)
 Resizes a four-dimensional data.
void Resize (int N0, int N1, int N2, int N3, int N4)
 Resizes a five-dimensional data.
void Resize (int N0, int N1, int N2, int N3, int N4, int N5)
 Resizes a six-dimensional data.
void Resize (int N0, int N1, int N2, int N3, int N4, int N5, int N6)
 Resizes a seven-dimensional data.
void Resize (int N0, int N1, int N2, int N3, int N4, int N5, int N6, int N7)
 Resizes an eight-dimensional data.
void Resize (int N0, int N1, int N2, int N3, int N4, int N5, int N6, int N7, int N8)
 Resizes a nine-dimensional data.
void Resize (int N0, int N1, int N2, int N3, int N4, int N5, int N6, int N7, int N8, int N9)
 Resizes a ten-dimensional data.
void Resize (const TinyVector< int, N > &shape)
 Resizes data.
void Mlt (T alpha)
 Multiplies all elements by a given value.
void Add (T alpha)
 Adds a given value to all elements.
void Apply (void function(T &))
 Applies a given function on all elements.
template<class F>
void Apply (F &function)
 Applies a given function on all elements.
void Apply (T(function)(const T &))
 Applies a given function on all elements.
template<class T0, class TG0, class F>
void Apply (Data< T0, N, TG0 > &, F &function)
GetMax () const
 Returns the maximum.
GetMaxAbs () const
 Returns the maximum (absolute value).
GetSignedMaxAbs () const
 Returns the (signed) value of the maximum in absolute value.
GetMin () const
 Returns the minimum.
Array< int, 1 > GetMaxIndex () const
 Returns indices of the maximum.
Array< int, 1 > GetMaxAbsIndex () const
 Returns indices of the maximum in absolute value.
Array< int, 1 > GetMinIndex () const
 Returns indices of the minimum.
Sum () const
 Returns the sum of all values.
template<class Ts>
void Sum (Ts &sum) const
 Computes the sum of all values.
Mean () const
 Returns the mean.
template<class Ts>
void Mean (Ts &mean) const
 Computes the mean.
Variance () const
 Returns the variance.
template<class Ts>
void Variance (Ts &var) const
 Computes the variance.
StandardDeviation () const
 Returns the standard deviation.
template<class Ts>
void StandardDeviation (Ts &std) const
 Computes the standard deviation.
Norm1 () const
 Returns the norm 1.
Norm2 () const
 Returns the norm 2.
Norm (T p) const
 Returns the norm p.
void Fill ()
 Fills the data array.
void Fill (T value)
 Sets data to a constant value.
void SetZero ()
 Sets data to zero.
bool IsZero ()
 Is data equal to zero?
void Threshold (T threshold_min, T threshold_max)
 Thresholds data.
void ThresholdAbs (T threshold)
 Threshold absolute value of data.
void ThresholdMin (T threshold)
 Thresholds data.
void ThresholdMax (T threshold)
 Thresholds data.
template<class T0, class TG0>
NGE_interpolation (Data< T0, N, TG0 > &data, T limit=T(0))
 Computes normalized gross error between two data sets.
template<class T0, class TG0>
NGE (Data< T0, N, TG0 > &data, T limit=T(0))
 Computes normalized gross error between two data sets.
template<class T0, class TG0>
Bias_interpolation (Data< T0, N, TG0 > &data)
 Computes bias between two data sets.
template<class T0, class TG0>
Bias (Data< T0, N, TG0 > &data)
 Computes bias between two data sets.
template<class T0, class TG0>
RMS_interpolation (Data< T0, N, TG0 > &data)
 Computes root mean square between two data sets.
template<class T0, class TG0>
RMS (Data< T0, N, TG0 > &data)
 Computes root mean square between two data sets.
template<class T0, class TG0>
RelativeRMS_interpolation (Data< T0, N, TG0 > &data)
 Computes the relative root mean square between two data sets.
template<class T0, class TG0>
RelativeRMS (Data< T0, N, TG0 > &data)
 Computes the relative root mean square between two data sets.
template<class T0, class TG0>
Corr_interpolation (Data< T0, N, TG0 > &data)
 Computes the correlation between two data sets.
template<class T0, class TG0>
Corr (Data< T0, N, TG0 > &data)
 Computes the correlation between two data sets.
template<class T0, class TG0>
ErrorLessThan_interpolation (Data< T0, N, TG0 > &data, T threshold)
 Returns the percentage of error less than 'threshold'.
template<class T0, class TG0>
ErrorLessThan (Data< T0, N, TG0 > &data, T threshold)
 Returns the percentage of error less than 'threshold'.
void ReverseData (int dim=0)
 Reverses data along a given dimension.
void SwitchDimensions (TinyVector< int, N > NewDim, Grid< TG > &G0)
 Switches dimensions of data.
void SwitchDimensions (TinyVector< int, N > NewDim, Grid< TG > &G0, Grid< TG > &G1)
 Switches dimensions of data.
void SwitchDimensions (TinyVector< int, N > NewDim, Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2)
 Switches dimensions of data.
void SwitchDimensions (TinyVector< int, N > NewDim, Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3)
 Switches dimensions of data.
void SwitchDimensions (TinyVector< int, N > NewDim, Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4)
 Switches dimensions of data.
void SwitchDimensions (TinyVector< int, N > NewDim, Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5)
 Switches dimensions of data.
void SwitchDimensions (TinyVector< int, N > NewDim, Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5, Grid< TG > &G6)
 Switches dimensions of data.
void SwitchDimensions (TinyVector< int, N > NewDim, Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5, Grid< TG > &G6, Grid< TG > &G7)
 Switches dimensions of data.
void SwitchDimensions (TinyVector< int, N > NewDim, Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5, Grid< TG > &G6, Grid< TG > &G7, Grid< TG > &G8)
 Switches dimensions of data.
void SwitchDimensions (TinyVector< int, N > NewDim, Grid< TG > &G0, Grid< TG > &G1, Grid< TG > &G2, Grid< TG > &G3, Grid< TG > &G4, Grid< TG > &G5, Grid< TG > &G6, Grid< TG > &G7, Grid< TG > &G8, Grid< TG > &G9)
 Switches dimensions of data.
void ChangeCoords (FuncCoords_Base< TG > &f)
 Change coordinates.
void ChangeCoordsInPlace (Function_Base< TG > &f)
 Coordinate transformation "in place".
void Print () const
 Displays data.
void PrintInfo () const
 Displays minimum, mean, maximum and standard deviation of data.
string InfoString () const

Protected Attributes

Array< T, N > data_
 Array storing data.
Array< Grid< TG > *, 1 > grids_
 Array of pointers to grids.


Detailed Description

template<class T, int N, class TG = T>
class SeldonData::Data< T, N, TG >

Data class.


Constructor & Destructor Documentation

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( Grid< TG > &  G0  )  throw ()

Constructor for one-dimensional data.

Parameters:
G0 grid for dimension #0.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( Grid< TG > &  G0,
Grid< TG > &  G1 
) throw ()

Constructor for two-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2 
) throw ()

Constructor for three-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3 
) throw ()

Constructor for four-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4 
) throw ()

Constructor for five-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5 
) throw ()

Constructor for six-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.
G5 grid for dimension #5.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5,
Grid< TG > &  G6 
) throw ()

Constructor for seven-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.
G5 grid for dimension #5.
G6 grid for dimension #6.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5,
Grid< TG > &  G6,
Grid< TG > &  G7 
) throw ()

Constructor for eight-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.
G5 grid for dimension #5.
G6 grid for dimension #6.
G7 grid for dimension #7.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5,
Grid< TG > &  G6,
Grid< TG > &  G7,
Grid< TG > &  G8 
) throw ()

Constructor for nine-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.
G5 grid for dimension #5.
G6 grid for dimension #6.
G7 grid for dimension #7.
G8 grid for dimension #8.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5,
Grid< TG > &  G6,
Grid< TG > &  G7,
Grid< TG > &  G8,
Grid< TG > &  G9 
) throw ()

Constructor for ten-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.
G5 grid for dimension #5.
G6 grid for dimension #6.
G7 grid for dimension #7.
G8 grid for dimension #8.
G9 grid for dimension #9.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( int  N0  )  throw ()

Constructor for one-dimensional data.

Parameters:
N0 grid length along dimension #0.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( int  N0,
int  N1 
) throw ()

Constructor for two-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( int  N0,
int  N1,
int  N2 
) throw ()

Constructor for three-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( int  N0,
int  N1,
int  N2,
int  N3 
) throw ()

Constructor for four-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4 
) throw ()

Constructor for five-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4,
int  N5 
) throw ()

Constructor for six-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.
N5 grid length along dimension #5.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4,
int  N5,
int  N6 
) throw ()

Constructor for seven-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.
N5 grid length along dimension #5.
N6 grid length along dimension #6.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4,
int  N5,
int  N6,
int  N7 
) throw ()

Constructor for eight-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.
N5 grid length along dimension #5.
N6 grid length along dimension #6.
N7 grid length along dimension #7.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4,
int  N5,
int  N6,
int  N7,
int  N8 
) throw ()

Constructor for nine-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.
N5 grid length along dimension #5.
N6 grid length along dimension #6.
N7 grid length along dimension #7.
N8 grid length along dimension #8.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4,
int  N5,
int  N6,
int  N7,
int  N8,
int  N9 
) throw ()

Constructor for ten-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.
N5 grid length along dimension #5.
N6 grid length along dimension #6.
N7 grid length along dimension #7.
N8 grid length along dimension #8.
N9 grid length along dimension #9.

template<class T, int N, class TG>
SeldonData::Data< T, N, TG >::Data ( T *  data,
const TinyVector< int, N > &  shape,
preexistingMemoryPolicy  policy = neverDeleteData< T, N, TG > 
) throw ()

Constructor.

Builds a Data object from preexisting data.


Member Function Documentation

template<class T, int N, class TG>
T & SeldonData::Data< T, N, TG >::operator() ( int  i0  )  [inline]

Access operator for one-dimensional data.

Parameters:
i0 index for dimension #0.
Returns:
A reference to element i0.
Exceptions:
SeldonData::WrongDim data dimension is not 1.
SeldonData::WrongIndex index is out of range.

template<class T, int N, class TG>
T & SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1 
) [inline]

Access operator for two-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
Returns:
A reference to element (i0, i1).
Exceptions:
SeldonData::WrongDim data dimension is not 2.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T & SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1,
int  i2 
) [inline]

Access operator for three-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
Returns:
A reference to element (i0, i1, i2).
Exceptions:
SeldonData::WrongDim data dimension is not 3.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T & SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1,
int  i2,
int  i3 
) [inline]

Access operator for four-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
i3 index for dimension #3.
Returns:
A reference to element (i0, i1, i2, i3).
Exceptions:
SeldonData::WrongDim data dimension is not 4.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T & SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4 
) [inline]

Access operator for five-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
i3 index for dimension #3.
i4 index for dimension #4.
Returns:
A reference to element (i0, i1, i2, i3, i4).
Exceptions:
SeldonData::WrongDim data dimension is not 5.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T & SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4,
int  i5 
) [inline]

Access operator for six-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
i3 index for dimension #3.
i4 index for dimension #4.
i5 index for dimension #5.
Returns:
A reference to element (i0, i1, i2, i3, i4, i5).
Exceptions:
SeldonData::WrongDim data dimension is not 6.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T & SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4,
int  i5,
int  i6 
) [inline]

Access operator for seven-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
i3 index for dimension #3.
i4 index for dimension #4.
i5 index for dimension #5.
i6 index for dimension #6.
Returns:
A reference to element (i0, i1, i2, i3, i4, i5, i6).
Exceptions:
SeldonData::WrongDim data dimension is not 7.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T & SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4,
int  i5,
int  i6,
int  i7 
) [inline]

Access operator for eight-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
i3 index for dimension #3.
i4 index for dimension #4.
i5 index for dimension #5.
i6 index for dimension #6.
i7 index for dimension #7.
Returns:
A reference to element (i0, i1, i2, i3, i4, i5, i6, i7).
Exceptions:
SeldonData::WrongDim data dimension is not 8.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T & SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4,
int  i5,
int  i6,
int  i7,
int  i8 
) [inline]

Access operator for nine-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
i3 index for dimension #3.
i4 index for dimension #4.
i5 index for dimension #5.
i6 index for dimension #6.
i7 index for dimension #7.
i8 index for dimension #8.
Returns:
A reference to element (i0, i1, i2, i3, i4, i5, i6, i7, i8).
Exceptions:
SeldonData::WrongDim data dimension is not 9.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T & SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4,
int  i5,
int  i6,
int  i7,
int  i8,
int  i9 
) [inline]

Access operator for ten-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
i3 index for dimension #3.
i4 index for dimension #4.
i5 index for dimension #5.
i6 index for dimension #6.
i7 index for dimension #7.
i8 index for dimension #8.
i9 index for dimension #9.
Returns:
A reference to element (i0, i1, i2, i3, i4, i5, i6, i7, i8, i9).
Exceptions:
SeldonData::WrongDim data dimension is not 10.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::operator() ( int  i0  )  const [inline]

Access operator for one-dimensional data.

Parameters:
i0 index for dimension #0.
Returns:
A const reference to element i0.
Exceptions:
SeldonData::WrongDim data dimension is not 1.
SeldonData::WrongIndex index is out of range.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1 
) const [inline]

Access operator for two-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
Returns:
A const reference to element (i0, i1).
Exceptions:
SeldonData::WrongDim data dimension is not 2.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1,
int  i2 
) const [inline]

Access operator for three-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
Returns:
A const reference to element (i0, i1, i2).
Exceptions:
SeldonData::WrongDim data dimension is not 3.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1,
int  i2,
int  i3 
) const [inline]

Access operator for four-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
i3 index for dimension #3.
Returns:
A const reference to element (i0, i1, i2, i3).
Exceptions:
SeldonData::WrongDim data dimension is not 4.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4 
) const [inline]

Access operator for five-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
i3 index for dimension #3.
i4 index for dimension #4.
Returns:
A const reference to element (i0, i1, i2, i3, i4).
Exceptions:
SeldonData::WrongDim data dimension is not 5.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4,
int  i5 
) const [inline]

Access operator for six-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
i3 index for dimension #3.
i4 index for dimension #4.
i5 index for dimension #5.
Returns:
A const reference to element (i0, i1, i2, i3, i4, i5).
Exceptions:
SeldonData::WrongDim data dimension is not 6.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4,
int  i5,
int  i6 
) const [inline]

Access operator for seven-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
i3 index for dimension #3.
i4 index for dimension #4.
i5 index for dimension #5.
i6 index for dimension #6.
Returns:
A const reference to element (i0, i1, i2, i3, i4, i5, i6).
Exceptions:
SeldonData::WrongDim data dimension is not 7.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4,
int  i5,
int  i6,
int  i7 
) const [inline]

Access operator for eight-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
i3 index for dimension #3.
i4 index for dimension #4.
i5 index for dimension #5.
i6 index for dimension #6.
i7 index for dimension #7.
Returns:
A const reference to element (i0, i1, i2, i3, i4, i5, i6, i7).
Exceptions:
SeldonData::WrongDim data dimension is not 8.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4,
int  i5,
int  i6,
int  i7,
int  i8 
) const [inline]

Access operator for nine-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
i3 index for dimension #3.
i4 index for dimension #4.
i5 index for dimension #5.
i6 index for dimension #6.
i7 index for dimension #7.
i8 index for dimension #8.
Returns:
A const reference to element (i0, i1, i2, i3, i4, i5, i6, i7, i8).
Exceptions:
SeldonData::WrongDim data dimension is not 9.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::operator() ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4,
int  i5,
int  i6,
int  i7,
int  i8,
int  i9 
) const [inline]

Access operator for ten-dimensional data.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
i3 index for dimension #3.
i4 index for dimension #4.
i5 index for dimension #5.
i6 index for dimension #6.
i7 index for dimension #7.
i8 index for dimension #8.
i9 index for dimension #9.
Returns:
A const reference to element (i0, i1, i2, i3, i4, i5, i6, i7, i8, i9).
Exceptions:
SeldonData::WrongDim data dimension is not 10.
SeldonData::WrongIndex an index is out of range.

template<class T, int N, class TG>
T & SeldonData::Data< T, N, TG >::operator() ( const Array< int, 1 > &  indices  )  [inline]

Access operator.

Parameters:
indices array of indices.
Returns:
The value of current data at (indices(0), indices(1), ...).

template<class T, int N, class TG>
T & SeldonData::Data< T, N, TG >::Value ( int  i0,
int  i1 = -1,
int  i2 = -1,
int  i3 = -1,
int  i4 = -1,
int  i5 = -1,
int  i6 = -1,
int  i7 = -1,
int  i8 = -1,
int  i9 = -1 
) [inline]

General access function.

Only useful arguments are taken into account.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
i3 index for dimension #3.
i4 index for dimension #4.
i5 index for dimension #5.
i6 index for dimension #6.
i7 index for dimension #7.
i8 index for dimension #8.
i9 index for dimension #9.
Returns:
A reference to the required element.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::Value ( int  i0,
int  i1 = -1,
int  i2 = -1,
int  i3 = -1,
int  i4 = -1,
int  i5 = -1,
int  i6 = -1,
int  i7 = -1,
int  i8 = -1,
int  i9 = -1 
) const [inline]

General access function.

Only useful arguments are taken into account.

Parameters:
i0 index for dimension #0.
i1 index for dimension #1.
i2 index for dimension #2.
i3 index for dimension #3.
i4 index for dimension #4.
i5 index for dimension #5.
i6 index for dimension #6.
i7 index for dimension #7.
i8 index for dimension #8.
i9 index for dimension #9.
Returns:
Value of the required element.

template<class T, int N, class TG>
template<class T0>
void SeldonData::Data< T, N, TG >::Copy ( Data< T0, N, TG > &  data  ) 

Performs a copy (duplication) of data.

Parameters:
data Data instance to be copied.
Warning:
Grids may or may not be duplicated (in memory), depending on their own settings.

template<class T, int N, class TG>
template<class T0>
void SeldonData::Data< T, N, TG >::ReferenceCopy ( Data< T0, N, TG > &  data  ) 

Performs a reference copy of data.

On exit, current Data instance and data share the same data array.

Parameters:
data Data instance to be copied.
Warning:
Grids may or may not be duplicated (in memory), depending on their own settings.

template<class T, int N, class TG>
int SeldonData::Data< T, N, TG >::GetNbElements (  )  [inline]

Returns the number of stored elements.

Returns:
Number of elements.

template<class T, int N, class TG>
int SeldonData::Data< T, N, TG >::GetNbDim (  )  [inline]

Returns the number of dimensions.

Returns:
Number of dimensions.

template<class T, int N, class TG>
int SeldonData::Data< T, N, TG >::GetLength ( int  i  )  const [inline]

Returns length along dimension i.

Parameters:
i dimension number.
Returns:
Length along the i-th dimension.

template<class T, int N, class TG>
Grid< TG > * SeldonData::Data< T, N, TG >::GetGrid ( int  i  )  [inline]

Returns a pointer to the grid i.

Parameters:
i grid to be returned.
Returns:
A pointer to the grid i.

template<class T, int N, class TG>
Grid< TG > & SeldonData::Data< T, N, TG >::operator[] ( int  i  )  [inline]

Returns a reference to the grid i.

Parameters:
i grid to be returned.
Returns:
A reference to the grid i.

template<class T, int N, class TG>
const Grid< TG > & SeldonData::Data< T, N, TG >::operator[] ( int  i  )  const [inline]

Returns a reference to the grid i.

Parameters:
i grid to be returned.
Returns:
A const reference to the grid i.

template<class T, int N, class TG>
Array< Grid< TG > *, 1 > & SeldonData::Data< T, N, TG >::GetGrids (  )  [inline]

Returns the array of pointers to grids.

For every Data, an array gathers pointers to grids. The i-th element of the array is the grid related to dimension i.

Returns:
A reference to the array of pointers to grids.

template<class T, int N, class TG>
Array< T, N > & SeldonData::Data< T, N, TG >::GetArray (  )  [inline]

Returns the blitz::Array storing elements.

Returns:
A reference to the blitz::Array storing data.

template<class T, int N, class TG>
Array< T, N > & SeldonData::Data< T, N, TG >::operator() (  )  [inline]

Returns the blitz::Array storing elements.

Returns:
A reference to the blitz::Array storing data.

template<class T, int N, class TG>
T * SeldonData::Data< T, N, TG >::GetData (  )  [inline]

Returns the array storing elements.

Returns:
A pointer to the array storing data.

template<class T, int N, class TG>
const T * SeldonData::Data< T, N, TG >::GetData (  )  const [inline]

Returns the array storing elements.

Returns:
A constant pointer to the array storing data.

template<class T, int N, class TG>
template<class DTG, class R0>
void SeldonData::Data< T, N, TG >::SubData ( Data< T, 1, DTG > &  data,
R0  r0 
)

Extracts data.

Current data (*this) is set to a sub-data of 'data'.

Parameters:
data source data.
r0 range for dimension #0 (source).

template<class T, int N, class TG>
template<class DTG, class R0, class R1>
void SeldonData::Data< T, N, TG >::SubData ( Data< T, 2, DTG > &  data,
R0  r0,
R1  r1 
)

Extracts data.

Current data (*this) is set to a sub-data of 'data'.

Parameters:
data source data.
r0 range for dimension #0 (source).
r1 range for dimension #1 (source).

template<class T, int N, class TG>
template<class DTG, class R0, class R1, class R2>
void SeldonData::Data< T, N, TG >::SubData ( Data< T, 3, DTG > &  data,
R0  r0,
R1  r1,
R2  r2 
)

Extracts data.

Current data (*this) is set to a sub-data of 'data'.

Parameters:
data source data.
r0 range for dimension #0 (source).
r1 range for dimension #1 (source).
r2 range for dimension #2 (source).

template<class T, int N, class TG>
template<class DTG, class R0, class R1, class R2, class R3>
void SeldonData::Data< T, N, TG >::SubData ( Data< T, 4, DTG > &  data,
R0  r0,
R1  r1,
R2  r2,
R3  r3 
)

Extracts data.

Current data (*this) is set to a sub-data of 'data'.

Parameters:
data source data.
r0 range for dimension #0 (source).
r1 range for dimension #1 (source).
r2 range for dimension #2 (source).
r3 range for dimension #3 (source).

template<class T, int N, class TG>
template<class DTG, class R0, class R1, class R2, class R3, class R4>
void SeldonData::Data< T, N, TG >::SubData ( Data< T, 5, DTG > &  data,
R0  r0,
R1  r1,
R2  r2,
R3  r3,
R4  r4 
)

Extracts data.

Current data (*this) is set to a sub-data of 'data'.

Parameters:
data source data.
r0 range for dimension #0 (source).
r1 range for dimension #1 (source).
r2 range for dimension #2 (source).
r3 range for dimension #3 (source).
r4 range for dimension #4 (source).

template<class T, int N, class TG>
template<class DTG, class R0, class R1, class R2, class R3, class R4, class R5>
void SeldonData::Data< T, N, TG >::SubData ( Data< T, 6, DTG > &  data,
R0  r0,
R1  r1,
R2  r2,
R3  r3,
R4  r4,
R5  r5 
)

Extracts data.

Current data (*this) is set to a sub-data of 'data'.

Parameters:
data source data.
r0 range for dimension #0 (source).
r1 range for dimension #1 (source).
r2 range for dimension #2 (source).
r3 range for dimension #3 (source).
r4 range for dimension #4 (source).
r5 range for dimension #5 (source).

template<class T, int N, class TG>
template<class DTG, class R0, class R1, class R2, class R3, class R4, class R5, class R6>
void SeldonData::Data< T, N, TG >::SubData ( Data< T, 7, DTG > &  data,
R0  r0,
R1  r1,
R2  r2,
R3  r3,
R4  r4,
R5  r5,
R6  r6 
)

Extracts data.

Current data (*this) is set to a sub-data of 'data'.

Parameters:
data source data.
r0 range for dimension #0 (source).
r1 range for dimension #1 (source).
r2 range for dimension #2 (source).
r3 range for dimension #3 (source).
r4 range for dimension #4 (source).
r5 range for dimension #5 (source).
r6 range for dimension #6 (source).

template<class T, int N, class TG>
template<class DTG, class R0, class R1, class R2, class R3, class R4, class R5, class R6, class R7>
void SeldonData::Data< T, N, TG >::SubData ( Data< T, 8, DTG > &  data,
R0  r0,
R1  r1,
R2  r2,
R3  r3,
R4  r4,
R5  r5,
R6  r6,
R7  r7 
)

Extracts data.

Current data (*this) is set to a sub-data of 'data'.

Parameters:
data source data.
r0 range for dimension #0 (source).
r1 range for dimension #1 (source).
r2 range for dimension #2 (source).
r3 range for dimension #3 (source).
r4 range for dimension #4 (source).
r5 range for dimension #5 (source).
r6 range for dimension #6 (source).
r7 range for dimension #7 (source).

template<class T, int N, class TG>
template<class DTG, class R0, class R1, class R2, class R3, class R4, class R5, class R6, class R7, class R8>
void SeldonData::Data< T, N, TG >::SubData ( Data< T, 9, DTG > &  data,
R0  r0,
R1  r1,
R2  r2,
R3  r3,
R4  r4,
R5  r5,
R6  r6,
R7  r7,
R8  r8 
)

Extracts data.

Current data (*this) is set to a sub-data of 'data'.

Parameters:
data source data.
r0 range for dimension #0 (source).
r1 range for dimension #1 (source).
r2 range for dimension #2 (source).
r3 range for dimension #3 (source).
r4 range for dimension #4 (source).
r5 range for dimension #5 (source).
r6 range for dimension #6 (source).
r7 range for dimension #7 (source).
r8 range for dimension #8 (source).

template<class T, int N, class TG>
template<class DTG, class R0, class R1, class R2, class R3, class R4, class R5, class R6, class R7, class R8, class R9>
void SeldonData::Data< T, N, TG >::SubData ( Data< T, 10, DTG > &  data,
R0  r0,
R1  r1,
R2  r2,
R3  r3,
R4  r4,
R5  r5,
R6  r6,
R7  r7,
R8  r8,
R9  r9 
)

Extracts data.

Current data (*this) is set to a sub-data of 'data'.

Parameters:
data source data.
r0 range for dimension #0 (source).
r1 range for dimension #1 (source).
r2 range for dimension #2 (source).
r3 range for dimension #3 (source).
r4 range for dimension #4 (source).
r5 range for dimension #5 (source).
r6 range for dimension #6 (source).
r7 range for dimension #7 (source).
r8 range for dimension #8 (source).
r9 range for dimension #9 (source).

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( Grid< TG > &  G0  ) 

Resize the grid.

Parameters:
G0 grid for dimension #0.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( Grid< TG > &  G0,
Grid< TG > &  G1 
)

Resizes grids.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2 
)

Resizes the grids.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3 
)

Resizes the grids.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4 
)

Resizes the grids.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5 
)

Resizes the grids.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.
G5 grid for dimension #5.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5,
Grid< TG > &  G6 
)

Resizes the grids.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.
G5 grid for dimension #5.
G6 grid for dimension #6.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5,
Grid< TG > &  G6,
Grid< TG > &  G7 
)

Resizes the grids.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.
G5 grid for dimension #5.
G6 grid for dimension #6.
G7 grid for dimension #7.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5,
Grid< TG > &  G6,
Grid< TG > &  G7,
Grid< TG > &  G8 
)

Resizes the grids.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.
G5 grid for dimension #5.
G6 grid for dimension #6.
G7 grid for dimension #7.
G8 grid for dimension #8.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5,
Grid< TG > &  G6,
Grid< TG > &  G7,
Grid< TG > &  G8,
Grid< TG > &  G9 
)

Resizes the grids.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.
G5 grid for dimension #5.
G6 grid for dimension #6.
G7 grid for dimension #7.
G8 grid for dimension #8.
G9 grid for dimension #9.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( int  N0  ) 

Resizes the grid.

Parameters:
N0 grid length along dimension #0.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( int  N0,
int  N1 
)

Resizes the grids.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( int  N0,
int  N1,
int  N2 
)

Resizes the grids.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( int  N0,
int  N1,
int  N2,
int  N3 
)

Resizes the grids.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4 
)

Resizes the grids.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4,
int  N5 
)

Resizes the grids.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.
N5 grid length along dimension #5.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4,
int  N5,
int  N6 
)

Resizes the grids.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.
N5 grid length along dimension #5.
N6 grid length along dimension #6.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4,
int  N5,
int  N6,
int  N7 
)

Resizes the grids.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.
N5 grid length along dimension #5.
N6 grid length along dimension #6.
N7 grid length along dimension #7.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4,
int  N5,
int  N6,
int  N7,
int  N8 
)

Resizes the grids.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.
N5 grid length along dimension #5.
N6 grid length along dimension #6.
N7 grid length along dimension #7.
N8 grid length along dimension #8.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ResizeGrid ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4,
int  N5,
int  N6,
int  N7,
int  N8,
int  N9 
)

Resizes the grids.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.
N5 grid length along dimension #5.
N6 grid length along dimension #6.
N7 grid length along dimension #7.
N8 grid length along dimension #8.
N9 grid length along dimension #9.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( Grid< TG > &  G0  ) 

Resizes an one-dimensional data.

Parameters:
G0 grid for dimension #0.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( Grid< TG > &  G0,
Grid< TG > &  G1 
)

Resizes a two-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2 
)

Resizes a three-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3 
)

Resizes a four-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4 
)

Resizes a five-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5 
)

Resizes a six-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.
G5 grid for dimension #5.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5,
Grid< TG > &  G6 
)

Resizes a seven-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.
G5 grid for dimension #5.
G6 grid for dimension #6.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5,
Grid< TG > &  G6,
Grid< TG > &  G7 
)

Resizes an eight-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.
G5 grid for dimension #5.
G6 grid for dimension #6.
G7 grid for dimension #7.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5,
Grid< TG > &  G6,
Grid< TG > &  G7,
Grid< TG > &  G8 
)

Resizes a nine-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.
G5 grid for dimension #5.
G6 grid for dimension #6.
G7 grid for dimension #7.
G8 grid for dimension #8.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5,
Grid< TG > &  G6,
Grid< TG > &  G7,
Grid< TG > &  G8,
Grid< TG > &  G9 
)

Resizes a ten-dimensional data.

Parameters:
G0 grid for dimension #0.
G1 grid for dimension #1.
G2 grid for dimension #2.
G3 grid for dimension #3.
G4 grid for dimension #4.
G5 grid for dimension #5.
G6 grid for dimension #6.
G7 grid for dimension #7.
G8 grid for dimension #8.
G9 grid for dimension #9.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( int  N0  ) 

Resizes an one-dimensional data.

Parameters:
N0 grid length along dimension #0.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( int  N0,
int  N1 
)

Resizes a two-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( int  N0,
int  N1,
int  N2 
)

Resizes a three-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( int  N0,
int  N1,
int  N2,
int  N3 
)

Resizes a four-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4 
)

Resizes a five-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4,
int  N5 
)

Resizes a six-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.
N5 grid length along dimension #5.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4,
int  N5,
int  N6 
)

Resizes a seven-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.
N5 grid length along dimension #5.
N6 grid length along dimension #6.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4,
int  N5,
int  N6,
int  N7 
)

Resizes an eight-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.
N5 grid length along dimension #5.
N6 grid length along dimension #6.
N7 grid length along dimension #7.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4,
int  N5,
int  N6,
int  N7,
int  N8 
)

Resizes a nine-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.
N5 grid length along dimension #5.
N6 grid length along dimension #6.
N7 grid length along dimension #7.
N8 grid length along dimension #8.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( int  N0,
int  N1,
int  N2,
int  N3,
int  N4,
int  N5,
int  N6,
int  N7,
int  N8,
int  N9 
)

Resizes a ten-dimensional data.

Parameters:
N0 grid length along dimension #0.
N1 grid length along dimension #1.
N2 grid length along dimension #2.
N3 grid length along dimension #3.
N4 grid length along dimension #4.
N5 grid length along dimension #5.
N6 grid length along dimension #6.
N7 grid length along dimension #7.
N8 grid length along dimension #8.
N9 grid length along dimension #9.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Resize ( const TinyVector< int, N > &  shape  ) 

Resizes data.

Parameters:
shape the new shape.
Note:
Data may be lost.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Mlt ( alpha  ) 

Multiplies all elements by a given value.

Parameters:
alpha number by which all elements are multiplied.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Add ( alpha  ) 

Adds a given value to all elements.

Parameters:
alpha number which is added to all elements.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Apply ( void   function(T &)  ) 

Applies a given function on all elements.

Parameters:
function function to be applied.

template<class T, int N, class TG>
template<class F>
void SeldonData::Data< T, N, TG >::Apply ( F &  function  ) 

Applies a given function on all elements.

Parameters:
function function to be applied.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Apply ( T(function)(const T &)   ) 

Applies a given function on all elements.

Parameters:
function a pointer to a function to be applied.

template<class T, int N, class TG>
template<class T0, class TG0, class F>
void SeldonData::Data< T, N, TG >::Apply ( Data< T0, N, TG0 > &  D,
F &  function 
)

Parameters:
D data.
function function to be applied on 'D'.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::GetMax (  )  const

Returns the maximum.

Returns:
The maximum.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::GetMaxAbs (  )  const

Returns the maximum (absolute value).

Returns:
The maximum (absolute value).

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::GetSignedMaxAbs (  )  const

Returns the (signed) value of the maximum in absolute value.

Returns:
The (signed) value of the maximum in absolute value.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::GetMin (  )  const

Returns the minimum.

Returns:
The minimum.

template<class T, int N, class TG>
Array< int, 1 > SeldonData::Data< T, N, TG >::GetMaxIndex (  )  const

Returns indices of the maximum.

Returns:
Array of indices of the maximum.

template<class T, int N, class TG>
Array< int, 1 > SeldonData::Data< T, N, TG >::GetMaxAbsIndex (  )  const

Returns indices of the maximum in absolute value.

Returns:
Array of indices of the maximum in absolute value.

template<class T, int N, class TG>
Array< int, 1 > SeldonData::Data< T, N, TG >::GetMinIndex (  )  const

Returns indices of the minimum.

Returns:
Array of indices of the minimum.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::Sum (  )  const

Returns the sum of all values.

Returns:
The sum of all values.

template<class T, int N, class TG>
template<class Ts>
void SeldonData::Data< T, N, TG >::Sum ( Ts &  sum  )  const

Computes the sum of all values.

Computes the sum of all values with a type that can be different from the type of the values.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::Mean (  )  const

Returns the mean.

Returns:
The mean.

template<class T, int N, class TG>
template<class Ts>
void SeldonData::Data< T, N, TG >::Mean ( Ts &  mean  )  const

Computes the mean.

Computes the mean with a type that can be different from the type of the values.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::Variance (  )  const

Returns the variance.

Returns:
The variance.

template<class T, int N, class TG>
template<class Ts>
void SeldonData::Data< T, N, TG >::Variance ( Ts &  var  )  const

Computes the variance.

Computes the variance with a type that can be different from the type of the values.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::StandardDeviation (  )  const

Returns the standard deviation.

Returns:
The standard deviation.

template<class T, int N, class TG>
template<class Ts>
void SeldonData::Data< T, N, TG >::StandardDeviation ( Ts &  std  )  const

Computes the standard deviation.

Computes the standard deviation with a type that can be different from the type of the values.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::Norm1 (  )  const

Returns the norm 1.

Returns:
The norm 1.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::Norm2 (  )  const

Returns the norm 2.

Returns:
The norm 2.

template<class T, int N, class TG>
T SeldonData::Data< T, N, TG >::Norm ( p  )  const

Returns the norm p.

Parameters:
p norm parameter.
Returns:
The norm p.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Fill (  ) 

Fills the data array.

Fills the array with integers 0, 1, 2, etc.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Fill ( value  ) 

Sets data to a constant value.

Parameters:
value value to which data is set.

template<class T, int N, class TG>
bool SeldonData::Data< T, N, TG >::IsZero (  ) 

Is data equal to zero?

Returns:
true if data is zero, false otherwise.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::Threshold ( threshold_min,
threshold_max 
)

Thresholds data.

Any value less than 'threshold_min' is set to 'threshold_min' and any value more than 'threshold_max' is set to 'threshold_max'.

Parameters:
threshold_min the lower threshold.
threshold_max the upper threshold.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ThresholdAbs ( threshold  ) 

Threshold absolute value of data.

Any value less than 'threshold' (in absolute value) is set to 'threshold'.

Parameters:
threshold the threshold.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ThresholdMin ( threshold  ) 

Thresholds data.

Any value less than 'threshold' is set to 'threshold'.

Parameters:
threshold the threshold.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ThresholdMax ( threshold  ) 

Thresholds data.

Any value more than 'threshold' is set to 'threshold'.

Parameters:
threshold the threshold.

template<class T, int N, class TG>
template<class T0, class TG0>
T SeldonData::Data< T, N, TG >::NGE_interpolation ( Data< T0, N, TG0 > &  data,
limit = T(0) 
)

Computes normalized gross error between two data sets.

Current data is the reference, and the input data is linearly interpolated.

Parameters:
data data to be compared with current data.
limit the NGE is computed only with values x such that |x| > limit.
Returns:
The normalized gross error.

template<class T, int N, class TG>
template<class T0, class TG0>
T SeldonData::Data< T, N, TG >::NGE ( Data< T0, N, TG0 > &  data,
limit = T(0) 
)

Computes normalized gross error between two data sets.

Current data is the reference.

Parameters:
data data to be compared with current data.
limit the NGE is computed only with values x such that |x| > limit.
Returns:
The normalized gross error.

template<class T, int N, class TG>
template<class T0, class TG0>
T SeldonData::Data< T, N, TG >::Bias_interpolation ( Data< T0, N, TG0 > &  data  ) 

Computes bias between two data sets.

Current data is the reference, and the input data is linearly interpolated.

Parameters:
data data to be compared with current data.
Returns:
The bias.

template<class T, int N, class TG>
template<class T0, class TG0>
T SeldonData::Data< T, N, TG >::Bias ( Data< T0, N, TG0 > &  data  ) 

Computes bias between two data sets.

Current data is the reference.

Parameters:
data data to be compared with current data.
Returns:
The bias.

template<class T, int N, class TG>
template<class T0, class TG0>
T SeldonData::Data< T, N, TG >::RMS_interpolation ( Data< T0, N, TG0 > &  data  ) 

Computes root mean square between two data sets.

Current data is the reference, and the input data is linearly interpolated.

Parameters:
data data to be compared with current data.
Returns:
The root mean square.

template<class T, int N, class TG>
template<class T0, class TG0>
T SeldonData::Data< T, N, TG >::RMS ( Data< T0, N, TG0 > &  data  ) 

Computes root mean square between two data sets.

Current data is the reference.

Parameters:
data data to be compared with current data.
Returns:
The root mean square.

template<class T, int N, class TG>
template<class T0, class TG0>
T SeldonData::Data< T, N, TG >::RelativeRMS_interpolation ( Data< T0, N, TG0 > &  data  ) 

Computes the relative root mean square between two data sets.

Current data is the reference, and the input data is linearly interpolated.

Parameters:
data data to be compared with current data.
Returns:
The relative root mean square.

template<class T, int N, class TG>
template<class T0, class TG0>
T SeldonData::Data< T, N, TG >::RelativeRMS ( Data< T0, N, TG0 > &  data  ) 

Computes the relative root mean square between two data sets.

Current data is the reference.

Parameters:
data data to be compared with current data.
Returns:
The relative root mean square.

template<class T, int N, class TG>
template<class T0, class TG0>
T SeldonData::Data< T, N, TG >::Corr_interpolation ( Data< T0, N, TG0 > &  data  ) 

Computes the correlation between two data sets.

Current data is the reference, and the input data is linearly interpolated.

Parameters:
data data to be compared with current data.
Returns:
The correlation.

template<class T, int N, class TG>
template<class T0, class TG0>
T SeldonData::Data< T, N, TG >::Corr ( Data< T0, N, TG0 > &  data  ) 

Computes the correlation between two data sets.

Current data is the reference.

Parameters:
data data to be compared with current data.
Returns:
The correlation.

template<class T, int N, class TG>
template<class T0, class TG0>
T SeldonData::Data< T, N, TG >::ErrorLessThan_interpolation ( Data< T0, N, TG0 > &  data,
threshold 
)

Returns the percentage of error less than 'threshold'.

Current data is the reference, and the input data is linearly interpolated.

Parameters:
data data to be compared with current data.
Returns:
The percentage of error less than 'threshold'.

template<class T, int N, class TG>
template<class T0, class TG0>
T SeldonData::Data< T, N, TG >::ErrorLessThan ( Data< T0, N, TG0 > &  data,
threshold 
)

Returns the percentage of error less than 'threshold'.

Parameters:
data data to be compared with current data.
Returns:
The percentage of error less than 'threshold'.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ReverseData ( int  dim = 0  ) 

Reverses data along a given dimension.

Reverses data along dimension 'dim'. For example, if a three dimensional array A is reversed along dimension #1, on exit, A(i, j, k) = A(i, Ny-1-j, k), where Ny is the length along dimension #1.

Parameters:
j dimension

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::SwitchDimensions ( TinyVector< int, N >  NewDim,
Grid< TG > &  G0 
)

Switches dimensions of data.

Switches dimensions of data.

Parameters:
NewDim vector of new dimensions indices.
G0 new grid for dimension #0.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::SwitchDimensions ( TinyVector< int, N >  NewDim,
Grid< TG > &  G0,
Grid< TG > &  G1 
)

Switches dimensions of data.

Switches dimensions of data.

Parameters:
NewDim vector of new dimensions indices.
G0 new grid for dimension #0.
G1 new grid for dimension #1.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::SwitchDimensions ( TinyVector< int, N >  NewDim,
Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2 
)

Switches dimensions of data.

Switches dimensions of data.

Parameters:
NewDim vector of new dimensions indices.
G0 new grid for dimension #0.
G1 new grid for dimension #1.
G2 new grid for dimension #2.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::SwitchDimensions ( TinyVector< int, N >  NewDim,
Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3 
)

Switches dimensions of data.

Switches dimensions of data.

Parameters:
NewDim vector of new dimensions indices.
G0 new grid for dimension #0.
G1 new grid for dimension #1.
G2 new grid for dimension #2.
G3 new grid for dimension #3.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::SwitchDimensions ( TinyVector< int, N >  NewDim,
Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4 
)

Switches dimensions of data.

Switches dimensions of data.

Parameters:
NewDim vector of new dimensions indices.
G0 new grid for dimension #0.
G1 new grid for dimension #1.
G2 new grid for dimension #2.
G3 new grid for dimension #3.
G4 new grid for dimension #4.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::SwitchDimensions ( TinyVector< int, N >  NewDim,
Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5 
)

Switches dimensions of data.

Switches dimensions of data.

Parameters:
NewDim vector of new dimensions indices.
G0 new grid for dimension #0.
G1 new grid for dimension #1.
G2 new grid for dimension #2.
G3 new grid for dimension #3.
G4 new grid for dimension #4.
G5 new grid for dimension #5.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::SwitchDimensions ( TinyVector< int, N >  NewDim,
Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5,
Grid< TG > &  G6 
)

Switches dimensions of data.

Switches dimensions of data.

Parameters:
NewDim vector of new dimensions indices.
G0 new grid for dimension #0.
G1 new grid for dimension #1.
G2 new grid for dimension #2.
G3 new grid for dimension #3.
G4 new grid for dimension #4.
G5 new grid for dimension #5.
G6 new grid for dimension #6.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::SwitchDimensions ( TinyVector< int, N >  NewDim,
Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5,
Grid< TG > &  G6,
Grid< TG > &  G7 
)

Switches dimensions of data.

Switches dimensions of data.

Parameters:
NewDim vector of new dimensions indices.
G0 new grid for dimension #0.
G1 new grid for dimension #1.
G2 new grid for dimension #2.
G3 new grid for dimension #3.
G4 new grid for dimension #4.
G5 new grid for dimension #5.
G6 new grid for dimension #6.
G7 new grid for dimension #7.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::SwitchDimensions ( TinyVector< int, N >  NewDim,
Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5,
Grid< TG > &  G6,
Grid< TG > &  G7,
Grid< TG > &  G8 
)

Switches dimensions of data.

Switches dimensions of data.

Parameters:
NewDim vector of new dimensions indices.
G0 new grid for dimension #0.
G1 new grid for dimension #1.
G2 new grid for dimension #2.
G3 new grid for dimension #3.
G4 new grid for dimension #4.
G5 new grid for dimension #5.
G6 new grid for dimension #6.
G7 new grid for dimension #7.
G8 new grid for dimension #8.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::SwitchDimensions ( TinyVector< int, N >  NewDim,
Grid< TG > &  G0,
Grid< TG > &  G1,
Grid< TG > &  G2,
Grid< TG > &  G3,
Grid< TG > &  G4,
Grid< TG > &  G5,
Grid< TG > &  G6,
Grid< TG > &  G7,
Grid< TG > &  G8,
Grid< TG > &  G9 
)

Switches dimensions of data.

Switches dimensions of data.

Parameters:
NewDim vector of new dimensions indices.
G0 new grid for dimension #0.
G1 new grid for dimension #1.
G2 new grid for dimension #2.
G3 new grid for dimension #3.
G4 new grid for dimension #4.
G5 new grid for dimension #5.
G6 new grid for dimension #6.
G7 new grid for dimension #7.
G8 new grid for dimension #8.
G9 new grid for dimension #9.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ChangeCoords ( FuncCoords_Base< TG > &  f  ) 

Change coordinates.

The coordinates transformation is provided by function f. f takes as input old coordinates and new coordinates (in this order). Old coordinates are assumed to be unchanged by f.

Parameters:
f coordinates transformation. It must be an instance of FuncCoords_Base<TG> or of a class derived from FuncCoords_Base<TG>.

template<class T, int N, class TG>
void SeldonData::Data< T, N, TG >::ChangeCoordsInPlace ( Function_Base< TG > &  f  ) 

Coordinate transformation "in place".

Function f takes as inputs all coordinates and transforms those coordinates. This transformation is performed in place because function f works directly on its inputs.

Parameters:
f coordinate transformation. It must be an instance of Function_Base<TG> or of a class derived from Function_Base<TG>.
Warning:
One should use ChangeCoords instead of ChangeCoordsInPlace in order to save memory.

template<class T, int N, class TG>
string SeldonData::Data< T, N, TG >::InfoString (  )  const

Returns a string with minimum, mean, maximum and standard deviation of data.


The documentation for this class was generated from the following files:
Generated on Tue Nov 17 11:20:52 2009 for SeldonData by  doxygen 1.5.1