C++ main module for emicrom Package  1.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
CORE_MorseArray< T > Class Template Reference

This class describes a general morse array of size N. A morse array is composed by. More...

#include <CORE_MorseArray.h>

Inheritance diagram for CORE_MorseArray< T >:
Inheritance graph
[legend]
Collaboration diagram for CORE_MorseArray< T >:
Collaboration graph
[legend]

Public Member Functions

 CORE_MorseArray ()
 create an array More...
 
virtual ~CORE_MorseArray (void)
 destroy More...
 
void getSharedPointer (boost::shared_ptr< CORE_MorseArray< T > > &p)
 return the shared pointer corresponding to the class with casting d* More...
 
void getSharedPointer (boost::shared_ptr< const CORE_MorseArray< T > > &p) const
 return the shared pointer corresponding to the class whith casting More...
 
T * operator[] (const tUIndex &i)
 return the values for element at i More...
 
const T * operator[] (const tUIndex &i) const
 return the values for element at i More...
 
template<class Q >
CORE_MorseArray< T > & operator+= (const Q &f)
 This+=f. More...
 
template<class Q >
CORE_MorseArray< T > & operator-= (const Q &f)
 This+=f. More...
 
template<class Q >
CORE_MorseArray< T > & operator*= (const Q &f)
 This*=f. More...
 
template<class Q >
CORE_MorseArray< T > & operator/= (const Q &f)
 This/=f. More...
 
template<class Q >
CORE_MorseArray< T > & operator= (const CORE_MorseArray< Q > &f)
 copy the array More...
 
void begin (const tUIndex &start, const tUInteger &iPack, CORE_MorseArrayIterator< T > &iter)
 create an iterator to index start for the pack at iPack for creating the morse array More...
 
void begin (const tUIndex &start, CORE_MorseArrayIterator< T > &iter)
 create an iterator to index start for the pack at iPack for writing the morse array only in values More...
 
void begin (CORE_MorseArrayIterator< T > &iter)
 create an iterator to index 0 of pack 0 for writing More...
 
void begin (const tUIndex &start, CORE_MorseArrayConstIterator< T > &iter) const
 create an iterator to index start for reading More...
 
void begin (CORE_MorseArrayConstIterator< T > &iter) const
 create an iterator to index 0 fro reading More...
 
template<class Q >
void copy (const CORE_MorseArray< Q > &c)
 copy the morse array param c: the morse array to copy More...
 
void clear ()
 clear the morse array : desallocate the data. More...
 
void setUniformSize (const tUIndex &n, const tUIndex &ld)
 set the morse array to be uniform of size n x ld More...
 
void setSize (const tUIndex &n, const tUIndex &m, const tUInteger &p)
 set the size of the morse array More...
 
void setSize (const tUIndex &n, const tUIndex &m)
 set the size of the morse array More...
 
void setIndicesByReference (SP::CORE_UIndexArray indices)
 set the indices by reference More...
 
void removeValue (const T &v)
 remove the value More...
 
void reset ()
 init the array to 0 More...
 
virtual tULLInt getMemorySize () const
 return the memory size in byte More...
 
const tUIndexgetSize () const
 get the number of elements of the array More...
 
tUIndex getSize (const tUIndex &i) const
 get the number of values for element i More...
 
const tBooleangetIndexIncrement () const
 get the index increment More...
 
const tUIndexgetMaxValuesNumberPerElement () const
 get the max number of values per element More...
 
const tUIntegergetPacksNumber () const
 get the number of packed More...
 
const CORE_Array< T > & getValues () const
 get the values of the morse array More...
 
SP::CORE_UIndexArray getIndicesByReference () const
 get the indices of the morse array for reading/writing More...
 
const CORE_UIndexArraygetIndices () const
 get the indices of the morse array for reading More...
 
tBoolean saveToFile (const tString &fn) const
 save the morse array into file More...
 
tBoolean loadFromFile (const tString &fn)
 load the morse array from file More...
 
CORE_Array< T > & getValues ()
 get the values of the morse array More...
 
CORE_UIndexArraygetIndices ()
 get the indices of the morse array for reading More...
 
const tUIndexgetIndex (const tUIndex &i) const
 get the pointer to the index of the first value for element i for reading More...
 
tUIndexgetIndex (const tUIndex &i)
 get the index of the first value for element i for writting More...
 
tBoolean isUniform () const
 return true if the morse array is unifom More...
 
const tBooleanisConstant () const
 return true if the morse array is constant More...
 
void merge ()
 merge the morse array built by P packs More...
 
void fitToSize ()
 fit to size More...
 
tBoolean uniformize ()
 uniformize the array More...
 
virtual tString toString () const
 return the string reprensetaion of the morse array More...
 
void getSharedPointer (SP::CORE_Object &p)
 get the shared pointer of this class into p More...
 
void getSharedPointer (SPC::CORE_Object &p) const
 get the shared pointer of this class into p More...
 
tString getClassName () const
 return the class name of the object More...
 
tString getIdentityString () const
 return the identity string of the object of the form className_at_address More...
 
tString getPointerAddress () const
 return the identity string of the object More...
 
template<class T >
tBoolean isInstanceOf () const
 test if the clas T is an instance of this class More...
 
tBoolean isInstanceOf (const tString &name) const
 test if the object is an instance of className More...
 

Static Public Member Functions

static boost::shared_ptr< CORE_MorseArray< T > > New ()
 create a new shared pointer of CORE_MorseArray More...
 
static void MergeMorseArrays (const tUInteger &nSubsets, CORE_UIndexArray &indices, const tUIndex &ld, const vector< CORE_Array< T > * > &arrays)
 merge morse arrays More...
 
static void MergeMorseArray (const tUInteger &P, CORE_UIndexArray &indices, const tUIndex &ld, CORE_Array< T > &array)
 merge morse arrays More...
 
static void setIsMemoryChecked (const tBoolean &v)
 set if the memory checking is used More...
 
static void setOut (SP::CORE_Out out)
 set the output stream More...
 
static void resetOut ()
 reset the output stream More...
 
static void setThread (SP::CORE_Thread thread)
 set the thread More...
 
static void resetThread ()
 reset the output stream More...
 
static CORE_Outout ()
 get the output More...
 
static SP::CORE_Out getOut ()
 get the output More...
 
static CORE_ThreadgetThread ()
 get the profilier More...
 
static const tBooleanisMemoryChecked ()
 get if the memory checking is used More...
 
static tString getClassName (const tString &identityString)
 return the class name of the object More...
 
template<class T >
static tString getTypeName ()
 get type name More...
 
static tBoolean is64Architecture ()
 return true if the machine is a 64 bits machine More...
 
static tBoolean is32Architecture ()
 return true if the machine is a 32 bits machine More...
 
static tString pointer2String (const void *obj)
 return the string representation of a pointer More...
 
static void printObjectsInMemory (ostream &f)
 print object in memory More...
 
static void printObjectsInMemory ()
 print object in memory in the standart output More...
 
static tChar getMaxChar ()
 get the max value for tChar type More...
 
static tChar getMinChar ()
 get the min value for tChar type More...
 
static tUChar getMaxUChar ()
 get the max value for tUChar type More...
 
static tUChar getMinUChar ()
 get the min value for tUChar type More...
 
static tSInt getMaxSInt ()
 get the max value for tSInt type More...
 
static tSInt getMinSInt ()
 get the min value for tSInt type More...
 
static tUSInt getMaxUSInt ()
 get the max value for tUSInt type More...
 
static tUSInt getMinUSInt ()
 get the min value for tUSInt type More...
 
static tInt getMaxInt ()
 get the max value for tInt type More...
 
static tInt getMinInt ()
 get the min value for tInt type More...
 
static tUInt getMaxUInt ()
 get the max value for tUInt type More...
 
static tUInt getMinUInt ()
 get the min value for tUInt type More...
 
static tLInt getMaxLInt ()
 get the max value for tLInt type More...
 
static tLInt getMinLInt ()
 get the min value for tLInt type More...
 
static tULInt getMaxULInt ()
 get the max value for tULInt type More...
 
static tULInt getMinULInt ()
 get the min value for tULInt type More...
 
static tLLInt getMaxLLInt ()
 get the max value for tULInt type More...
 
static tLLInt getMinLLInt ()
 get the min value for tLLInt type More...
 
static tULLInt getMaxULLInt ()
 get the max value for tULLInt type More...
 
static tULLInt getMinULLInt ()
 get the min value for tULLInt type More...
 
static tFloat getMaxFloat ()
 get the max value for tFloat type More...
 
static tFloat getMinFloat ()
 get the min value for tFloat type More...
 
template<class T >
static T getEpsilon ()
 get the epsilon value for T type More...
 
template<class T >
static T getInfinity ()
 get the infinity for T type More...
 
static tFloat getFloatEpsilon ()
 get the epsilon value for tFloat type More...
 
static tFloat getFloatInfinity ()
 get the infinity value for tFloat type More...
 
static tDouble getMaxDouble ()
 get the max value for tDouble type More...
 
static tDouble getMinDouble ()
 get the min value for tDouble type More...
 
static tDouble getDoubleInfinity ()
 get the infinity value for tFloat type More...
 
static tDouble getDoubleEpsilon ()
 get the epsilon value for tDouble type More...
 
static tLDouble getMinLDouble ()
 get the min value for tLDouble type More...
 
static tLDouble getMaxLDouble ()
 get the max value for tLDouble type More...
 
static tLDouble getLDoubleEpsilon ()
 get the epsilon value for tLDouble type More...
 
static tDouble getLDoubleInfinity ()
 get the infinity value for tDouble type More...
 
static tIndex getMaxIndex ()
 get the max value for the array/vector indexing type More...
 
static tIndex getMinIndex ()
 get the min value for the array/vector indexing type More...
 
static tUIndex getMaxUIndex ()
 get the max value for difference the array/vector indexing type More...
 
static tUIndex getMinUIndex ()
 get the min value for difference the array/vector indexing type More...
 
static tFlag getMaxFlag ()
 get the max value for the tFlag type More...
 
static tFlag getMinFlag ()
 get the min value for the tFlag type More...
 
static tUInteger getMaxUInteger ()
 get the max value for the unsigned integer type More...
 
static tUInteger getMinUInteger ()
 get the min value for the unsigned integer type More...
 
static tInteger getMaxInteger ()
 get the max value for the integer type More...
 
static tInteger getMinInteger ()
 get the min value for the integer type More...
 
static tReal getMaxReal ()
 get the max value for the real type More...
 
static tReal getMinReal ()
 get the min value for the real type More...
 
static tReal getRealEpsilon ()
 get the eps which is the difference between 1 and the least value greater than 1 that is representable. More...
 
static tReal getRealInfinity ()
 get the infinity value More...
 
template<class T >
static T computeEpsilon ()
 compute epsilon More...
 

Protected Member Functions

void setThis (SP::CORE_Object p)
 set this weak shared pointer called toDoAfterThis setting method More...
 
virtual void toDoAfterThisSetting ()
 method called after setThis() method this method can oly be called once. More...
 

Private Member Functions

boost::shared_ptr< CORE_MorseArray< T > > getThis ()
 return the shared pointer this for writing More...
 
boost::shared_ptr< const CORE_MorseArray< T > > getThis () const
 return the shared pointer this for reading More...
 
tBoolean uniformize (tBoolean &isConstant)
 test if the morse array is uniform or constant. More...
 

Private Attributes

tUIndex mSize
 
CORE_Array< T > mValues
 
SP::CORE_UIndexArray mIndices
 
tBoolean mIsIndicesReferenced
 
tUIndex mLD
 
tBoolean mIncI
 
tUInteger mPacksNumber
 
tBoolean mIsConstant
 

Detailed Description

template<class T>
class CORE_MorseArray< T >

This class describes a general morse array of size N. A morse array is composed by.

I[i] is the index of the first values of the element at index i. The number of values for an element at index i is I[i+1]-I[i].

So the j-th values of an element at index i in [0,N[ is V[I[i]+j] for all j in [0,I[i+1]-I[i] [.

The max number of element of the matrix is set by setMaximumValuesNumberByElement().

The Morse array is uniform if and only if the size of the array I is 2 and the increment for the array I is 0. Thats mean tah all the value are the same on the whole domain.

The morse array is constant if and only if the not null value are the same values

Author
Stéphane Despréaux
Version
1.0

Constructor & Destructor Documentation

◆ CORE_MorseArray()

template<class T>
CORE_MorseArray< T >::CORE_MorseArray ( )
inline

create an array

◆ ~CORE_MorseArray()

template<class T>
virtual CORE_MorseArray< T >::~CORE_MorseArray ( void  )
inlinevirtual

destroy

Member Function Documentation

◆ begin() [1/5]

template<class T>
void CORE_MorseArray< T >::begin ( const tUIndex start,
const tUInteger iPack,
CORE_MorseArrayIterator< T > &  iter 
)
inline

create an iterator to index start for the pack at iPack for creating the morse array

Parameters
startstart index in [0,mSize[
iPackindex of the pack in [0,getPacksNumber()[
iterthe morse iterator to set : iter will modified
  • the values of the array
  • the values of the index

Referenced by CORE_MorseArray< tUChar >::begin(), EMM_LinearAnisotropyOperator::buildAnisotropyMatrix(), EMM_AnisotropyOperator::buildAnisotropyMatrix(), EMM_Grid3D::buildMagnetizedElements(), EMM_Grid3D::buildMagnetizedNeighborsIndices(), EMM_FullExchangeOperator::buildMatrix(), EMM_Grid3D::buildNeighborsIndices(), EMM_DisplacementFVMOperator::computeCineticEnergy(), EMM_DisplacementFVMOperator::computeElasticStress(), EMM_DisplacementFVMOperator::computeElasticTensor(), EMM_DisplacementFEMOperator::computeElasticTensor(), EMM_CubicAnisotropyOperator::computeEnergy(), EMM_AnisotropyOperator::computeEnergyWithMagneticExcitation(), EMM_DisplacementFVMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_FullExchangeOperator::computeMagneticExcitationField(), EMM_LinearAnisotropyOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationField(), EMM_MinimalExchangeOperator::computeMagneticExcitationField(), EMM_AnisotropyOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_AnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_DisplacementFVMOperator::computeMagneticStress(), EMM_4SymmetricTensors::doubleDot(), EMM_4Tensors::doubleDotCrossDoubleDotScalar(), EMM_4Tensors::doubleDotCrossProduct(), EMM_4Tensors::doubleDotCrossSquaredScalar(), EMM_4Tensors::doubleDotProduct(), EMM_MatterField::getMatterParameterDistribution(), EMM_AnisotropyDirectionsField::loadFromFile(), EMM_AnisotropyDirectionsField::loadFromMattersField(), EMM_2PackedSymmetricTensors::product(), MATH_MorseMatrix::product(), EMM_AnisotropyDirectionsField::saveToFile(), EMM_DisplacementFVMOperator::setBoundaryFaceTypes(), EMM_4SymmetricTensors::squaredDoubleDot(), EMM_4Tensors::squaredDoubleDotCrossScalar(), EMM_4Tensors::squaredDoubleDotScalar(), and EMM_AnisotropyDirectionsField::toString().

Here is the caller graph for this function:

◆ begin() [2/5]

template<class T>
void CORE_MorseArray< T >::begin ( const tUIndex start,
CORE_MorseArrayIterator< T > &  iter 
)
inline

create an iterator to index start for the pack at iPack for writing the morse array only in values

Parameters
startstart index in [0,mSize[
iterthe morse iterator to set : iter will modified only
  • the values of the array

◆ begin() [3/5]

template<class T>
void CORE_MorseArray< T >::begin ( CORE_MorseArrayIterator< T > &  iter)
inline

create an iterator to index 0 of pack 0 for writing

Parameters
iterthe morse iterator to set

◆ begin() [4/5]

template<class T>
void CORE_MorseArray< T >::begin ( const tUIndex start,
CORE_MorseArrayConstIterator< T > &  iter 
) const
inline

create an iterator to index start for reading

Parameters
startstart index in [0,mSize[
iterthe morse iterator to set

◆ begin() [5/5]

template<class T>
void CORE_MorseArray< T >::begin ( CORE_MorseArrayConstIterator< T > &  iter) const
inline

create an iterator to index 0 fro reading

Parameters
iterthe morse iterator to set

◆ clear()

template<class T>
void CORE_MorseArray< T >::clear ( )
inline

clear the morse array : desallocate the data.

Referenced by EMM_AnisotropyDirectionsField::clear().

Here is the caller graph for this function:

◆ computeEpsilon()

template<class T >
static T CORE_Object::computeEpsilon ( )
inlinestaticinherited

compute epsilon

Returns
the epsilon value eps=10^{-p/3} where p is defined by getEpsilon()=10^{-p}

◆ copy()

template<class T>
template<class Q >
void CORE_MorseArray< T >::copy ( const CORE_MorseArray< Q > &  c)
inline

copy the morse array param c: the morse array to copy

Referenced by EMM_Tensors::copy(), and CORE_MorseArray< tUChar >::operator=().

Here is the caller graph for this function:

◆ fitToSize()

template<class T>
void CORE_MorseArray< T >::fitToSize ( )
inline

◆ getClassName() [1/2]

tString CORE_Object::getClassName ( ) const
inherited

return the class name of the object

Returns
the class name of the object

References tString.

Referenced by CORE_Object::getIdentityString(), EMM_Operator::getName(), and CORE_Object::isMemoryChecked().

Here is the caller graph for this function:

◆ getClassName() [2/2]

static tString CORE_Object::getClassName ( const tString identityString)
inlinestaticinherited

return the class name of the object

Parameters
identityStringthe identity string of the object
Returns
the class name

◆ getDoubleEpsilon()

static tDouble CORE_Object::getDoubleEpsilon ( )
inlinestaticinherited

get the epsilon value for tDouble type

Returns
the epsilon value for tDouble type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getDoubleInfinity()

static tDouble CORE_Object::getDoubleInfinity ( )
inlinestaticinherited

get the infinity value for tFloat type

Returns
the intinity value for tFloat type

◆ getEpsilon()

template<class T >
static T CORE_Object::getEpsilon ( )
inlinestaticinherited

get the epsilon value for T type

Returns
the epsilon value for T type

◆ getFloatEpsilon()

static tFloat CORE_Object::getFloatEpsilon ( )
inlinestaticinherited

get the epsilon value for tFloat type

Returns
the epsilon value for tFloat type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getFloatInfinity()

static tFloat CORE_Object::getFloatInfinity ( )
inlinestaticinherited

get the infinity value for tFloat type

Returns
the intinity value for tFloat type

◆ getIdentityString()

tString CORE_Object::getIdentityString ( ) const
inlineinherited

◆ getIndex() [1/2]

template<class T>
const tUIndex& CORE_MorseArray< T >::getIndex ( const tUIndex i) const
inline

get the pointer to the index of the first value for element i for reading

Parameters
i: index of the element
Returns
the index of the first value by reference

Referenced by CORE_MorseArray< tUChar >::operator[]().

Here is the caller graph for this function:

◆ getIndex() [2/2]

template<class T>
tUIndex& CORE_MorseArray< T >::getIndex ( const tUIndex i)
inline

get the index of the first value for element i for writting

Parameters
i: index of the element
Returns
the index of the first value by reference

◆ getIndexIncrement()

template<class T>
const tBoolean& CORE_MorseArray< T >::getIndexIncrement ( ) const
inline

◆ getIndices() [1/2]

template<class T>
const CORE_UIndexArray& CORE_MorseArray< T >::getIndices ( ) const
inline

get the indices of the morse array for reading

Returns
the array of indices

Referenced by CORE_MorseArray< tUChar >::begin(), EMM_DisplacementFEMOperator::computeElasticTensor(), CORE_MorseArray< tUChar >::copy(), MATH_MorseMatrix::getRowsIndices(), EMM_Tensors::setTensorsNumber(), and EMM_MorseArrayTest::test().

Here is the caller graph for this function:

◆ getIndices() [2/2]

template<class T>
CORE_UIndexArray& CORE_MorseArray< T >::getIndices ( )
inline

get the indices of the morse array for reading

Returns
the array of indices

◆ getIndicesByReference()

template<class T>
SP::CORE_UIndexArray CORE_MorseArray< T >::getIndicesByReference ( ) const
inline

get the indices of the morse array for reading/writing

Returns
the shared pointer to the array of indices

Referenced by EMM_DisplacementFVMOperator::computeElasticTensor(), EMM_AnisotropyOperator::discretize(), and MATH_MorseMatrix::MATH_MorseMatrix().

Here is the caller graph for this function:

◆ getInfinity()

template<class T >
static T CORE_Object::getInfinity ( )
inlinestaticinherited

get the infinity for T type

Returns
the infinity value for T type

◆ getLDoubleEpsilon()

static tLDouble CORE_Object::getLDoubleEpsilon ( )
inlinestaticinherited

get the epsilon value for tLDouble type

Returns
the epsilon value for tLDouble type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getLDoubleInfinity()

static tDouble CORE_Object::getLDoubleInfinity ( )
inlinestaticinherited

get the infinity value for tDouble type

Returns
the infinity value for tDouble type

◆ getMaxChar()

static tChar CORE_Object::getMaxChar ( )
inlinestaticinherited

get the max value for tChar type

Returns
the max value for tChar type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxDouble()

static tDouble CORE_Object::getMaxDouble ( )
inlinestaticinherited

get the max value for tDouble type

Returns
the max value for tDouble type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxFlag()

static tFlag CORE_Object::getMaxFlag ( )
inlinestaticinherited

get the max value for the tFlag type

Returns
the max value for the tFlag type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxFloat()

static tFloat CORE_Object::getMaxFloat ( )
inlinestaticinherited

get the max value for tFloat type

Returns
the max value for tFloat type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxIndex()

static tIndex CORE_Object::getMaxIndex ( )
inlinestaticinherited

get the max value for the array/vector indexing type

Returns
the max value for the array/vector indexing type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxInt()

static tInt CORE_Object::getMaxInt ( )
inlinestaticinherited

get the max value for tInt type

Returns
the max value for tInt type

Referenced by MATSGN_FFT::fastFourierTransform3D_FFTW(), and CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxInteger()

static tInteger CORE_Object::getMaxInteger ( )
inlinestaticinherited

get the max value for the integer type

Returns
the max value for the integer type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxLDouble()

static tLDouble CORE_Object::getMaxLDouble ( )
inlinestaticinherited

get the max value for tLDouble type

Returns
the max value for tLDouble type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxLInt()

static tLInt CORE_Object::getMaxLInt ( )
inlinestaticinherited

get the max value for tLInt type

Returns
the max value for tLInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxLLInt()

static tLLInt CORE_Object::getMaxLLInt ( )
inlinestaticinherited

get the max value for tULInt type

Returns
the max value for tULInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxReal()

static tReal CORE_Object::getMaxReal ( )
inlinestaticinherited

get the max value for the real type

Returns
he max value for the real type

Referenced by EMM_MatterField::adimensionize(), and CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxSInt()

static tSInt CORE_Object::getMaxSInt ( )
inlinestaticinherited

get the max value for tSInt type

Returns
the max value for tSInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxUChar()

static tUChar CORE_Object::getMaxUChar ( )
inlinestaticinherited

get the max value for tUChar type

Returns
the max value for tUChar type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxUIndex()

static tUIndex CORE_Object::getMaxUIndex ( )
inlinestaticinherited

get the max value for difference the array/vector indexing type

Returns
the max value for difference the array/vector indexing type

Referenced by CORE_Vector< T >::addAfterIndices(), CORE_Vector< T >::search(), CORE_Test::testType(), CORE_Integer::toHexString(), and CORE_Integer::toString().

Here is the caller graph for this function:

◆ getMaxUInt()

static tUInt CORE_Object::getMaxUInt ( )
inlinestaticinherited

get the max value for tUInt type

Returns
the max value for tUInt type

Referenced by EMM_Array< tCellFlag >::loadFromFile(), EMM_RealField::loadFromFile(), and CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxUInteger()

static tUInteger CORE_Object::getMaxUInteger ( )
inlinestaticinherited

get the max value for the unsigned integer type

Returns
the max value for the unsigned integer type

Referenced by MATH_Pn::computeExtrenums(), EMM_MultiScaleGrid::computeLevelsNumber(), EMM_Input::restoreBackup(), MATH_P0::solve(), and CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxULInt()

static tULInt CORE_Object::getMaxULInt ( )
inlinestaticinherited

get the max value for tULInt type

Returns
the max value for tULInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxULLInt()

static tULLInt CORE_Object::getMaxULLInt ( )
inlinestaticinherited

get the max value for tULLInt type

Returns
the max value for tULLInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxUSInt()

static tUSInt CORE_Object::getMaxUSInt ( )
inlinestaticinherited

get the max value for tUSInt type

Returns
the max value for tUSInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMaxValuesNumberPerElement()

template<class T>
const tUIndex& CORE_MorseArray< T >::getMaxValuesNumberPerElement ( ) const
inline

get the max number of values per element

Returns
the max numbr of values per element

Referenced by CORE_MorseArray< tUChar >::copy(), and MATH_MorseMatrix::getColumnsNumber().

Here is the caller graph for this function:

◆ getMemorySize()

template<class T>
virtual tULLInt CORE_MorseArray< T >::getMemorySize ( ) const
inlinevirtual

return the memory size in byte

Returns
the memory size of the storage in bytes 1 Kb = 1024 bytes 1 Mb = 1024 Kb 1 Gb = 1024 Mb 1 Tb = 1024 Gb 1 Hb = 1024 Tb

Referenced by EMM_LinearAnisotropyOperator::getMemorySize(), EMM_MinimalExchangeOperator::getMemorySize(), EMM_FullExchangeOperator::getMemorySize(), EMM_AnisotropyOperator::getMemorySize(), MATH_MorseMatrix::getMemorySize(), and EMM_Tensors::getMemorySize().

Here is the caller graph for this function:

◆ getMinChar()

static tChar CORE_Object::getMinChar ( )
inlinestaticinherited

get the min value for tChar type

Returns
the min value for tChar type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinDouble()

static tDouble CORE_Object::getMinDouble ( )
inlinestaticinherited

get the min value for tDouble type

Returns
the min value for tDouble type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinFlag()

static tFlag CORE_Object::getMinFlag ( )
inlinestaticinherited

get the min value for the tFlag type

Returns
the min value for the tFlag type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinFloat()

static tFloat CORE_Object::getMinFloat ( )
inlinestaticinherited

get the min value for tFloat type

Returns
the min value for tFloat type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinIndex()

static tIndex CORE_Object::getMinIndex ( )
inlinestaticinherited

get the min value for the array/vector indexing type

Returns
the min value for the array/vector indexing type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinInt()

static tInt CORE_Object::getMinInt ( )
inlinestaticinherited

get the min value for tInt type

Returns
the min value for tInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinInteger()

static tInteger CORE_Object::getMinInteger ( )
inlinestaticinherited

get the min value for the integer type

Returns
the minin value for the integer type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinLDouble()

static tLDouble CORE_Object::getMinLDouble ( )
inlinestaticinherited

get the min value for tLDouble type

Returns
the min value for tLDouble type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinLInt()

static tLInt CORE_Object::getMinLInt ( )
inlinestaticinherited

get the min value for tLInt type

Returns
the min value for tLInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinLLInt()

static tLLInt CORE_Object::getMinLLInt ( )
inlinestaticinherited

get the min value for tLLInt type

Returns
the min value for tLLInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinReal()

static tReal CORE_Object::getMinReal ( )
inlinestaticinherited

get the min value for the real type

Returns
the min value for the real type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinSInt()

static tSInt CORE_Object::getMinSInt ( )
inlinestaticinherited

get the min value for tSInt type

Returns
the min value for tSInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinUChar()

static tUChar CORE_Object::getMinUChar ( )
inlinestaticinherited

get the min value for tUChar type

Returns
the min value for tUChar type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinUIndex()

static tUIndex CORE_Object::getMinUIndex ( )
inlinestaticinherited

get the min value for difference the array/vector indexing type

Returns
the min value for difference the array/vector indexing type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinUInt()

static tUInt CORE_Object::getMinUInt ( )
inlinestaticinherited

get the min value for tUInt type

Returns
the min value for tUInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinUInteger()

static tUInteger CORE_Object::getMinUInteger ( )
inlinestaticinherited

get the min value for the unsigned integer type

Returns
the min value for the unsigned integer type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinULInt()

static tULInt CORE_Object::getMinULInt ( )
inlinestaticinherited

get the min value for tULInt type

Returns
the min value for tULInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinULLInt()

static tULLInt CORE_Object::getMinULLInt ( )
inlinestaticinherited

get the min value for tULLInt type

Returns
the min value for tULLInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getMinUSInt()

static tUSInt CORE_Object::getMinUSInt ( )
inlinestaticinherited

get the min value for tUSInt type

Returns
the min value for tUSInt type

Referenced by CORE_Test::testType().

Here is the caller graph for this function:

◆ getOut()

static SP::CORE_Out CORE_Object::getOut ( )
inlinestaticinherited

get the output

Returns
the shared pointer to the output stream

References CORE_Object::OUT.

◆ getPacksNumber()

template<class T>
const tUInteger& CORE_MorseArray< T >::getPacksNumber ( ) const
inline

get the number of packed

Returns
the nulber of packed

◆ getPointerAddress()

tString CORE_Object::getPointerAddress ( ) const
inlineinherited

return the identity string of the object

Returns
the identity string of the object

References CORE_Object::pointer2String().

Here is the call graph for this function:

◆ getRealEpsilon()

static tReal CORE_Object::getRealEpsilon ( )
inlinestaticinherited

get the eps which is the difference between 1 and the least value greater than 1 that is representable.

Returns
the eps which is the difference between 1 and the least value greater than 1 that is representable.

Referenced by MATH_P4::solveP4De(), and CORE_Test::testType().

Here is the caller graph for this function:

◆ getRealInfinity()

static tReal CORE_Object::getRealInfinity ( )
inlinestaticinherited

◆ getSharedPointer() [1/4]

void CORE_Object::getSharedPointer ( SP::CORE_Object &  p)
inlineinherited

◆ getSharedPointer() [2/4]

void CORE_Object::getSharedPointer ( SPC::CORE_Object &  p) const
inlineinherited

get the shared pointer of this class into p

Parameters
p: shared pointer of the class This

◆ getSharedPointer() [3/4]

template<class T>
void CORE_MorseArray< T >::getSharedPointer ( boost::shared_ptr< CORE_MorseArray< T > > &  p)
inline

return the shared pointer corresponding to the class with casting d*

Parameters
p: the returned shared pointer array

Referenced by CORE_MorseArray< tUChar >::getThis().

Here is the caller graph for this function:

◆ getSharedPointer() [4/4]

template<class T>
void CORE_MorseArray< T >::getSharedPointer ( boost::shared_ptr< const CORE_MorseArray< T > > &  p) const
inline

return the shared pointer corresponding to the class whith casting

Parameters
p: the returned shared pointer array

◆ getSize() [1/2]

template<class T>
const tUIndex& CORE_MorseArray< T >::getSize ( ) const
inline

◆ getSize() [2/2]

template<class T>
tUIndex CORE_MorseArray< T >::getSize ( const tUIndex i) const
inline

get the number of values for element i

Returns
the number of values for element i

◆ getThis() [1/2]

template<class T>
boost::shared_ptr<CORE_MorseArray<T> > CORE_MorseArray< T >::getThis ( )
inlineprivate

return the shared pointer this for writing

Returns
the share pointer of CORE_MorseArray<T>

◆ getThis() [2/2]

template<class T>
boost::shared_ptr<const CORE_MorseArray<T> > CORE_MorseArray< T >::getThis ( ) const
inlineprivate

return the shared pointer this for reading

Returns
the shared pointer of CORE_MorseArray<T>

◆ getThread()

static CORE_Thread& CORE_Object::getThread ( )
inlinestaticinherited

get the profilier

Returns
the profiler

Referenced by MATH_MaskVector::add(), MATH_Vector::add(), EMM_DisplacementFEMOperator::addBoundaryElasticStress(), EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), EMM_DisplacementFVMOperator::computeCineticEnergy(), EMM_DisplacementFVMOperator::computeElasticStress(), EMM_DisplacementFEMOperator::computeElasticStress(), EMM_DisplacementFVMOperator::computeElasticTensor(), EMM_DisplacementFEMOperator::computeElasticTensor(), EMM_StaticMagneticTensorOperator::computeEnergy(), EMM_CubicAnisotropyOperator::computeEnergy(), EMM_MagnetostrictionOperator::computeEnergy(), EMM_DisplacementOperator::computeEnergy(), EMM_AnisotropyOperator::computeEnergyWithMagneticExcitation(), EMM_DisplacementFVMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_DisplacementFEMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_FullExchangeOperator::computeMagneticExcitationField(), EMM_StaticMagnetostrictionOperator::computeMagneticExcitationField(), EMM_LinearAnisotropyOperator::computeMagneticExcitationField(), EMM_StaticMagneticTensorOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationField(), EMM_MinimalExchangeOperator::computeMagneticExcitationField(), EMM_AnisotropyOperator::computeMagneticExcitationField(), EMM_MagnetostrictionOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_AnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_DisplacementFVMOperator::computeMagneticStress(), EMM_DisplacementFEMOperator::computeMagneticStress(), EMM_OptimalTimeStep::computeOptimalTimeStep(), EMM_DisplacementFEMOperator::computeStressConstraintEnergy(), EMM_FullExchangeOperator::discretize(), EMM_MinimalExchangeOperator::discretize(), EMM_CondensedMassMatrix::discretize(), EMM_LinearAnisotropyOperator::discretize(), EMM_AnisotropyOperator::discretize(), EMM_DemagnetizedOperator::discretize(), EMMG_SLDemagnetizedOperator::discretize(), EMM_LandauLifschitzSystem::discretize(), MATH_Vector::divide(), MATH_MaskVector::dot(), MATH_Vector::dot(), EMM_4SymmetricTensors::doubleDot(), EMM_4Tensors::doubleDotCrossDoubleDotScalar(), EMM_4Tensors::doubleDotCrossProduct(), EMM_4Tensors::doubleDotCrossSquaredScalar(), EMM_4Tensors::doubleDotProduct(), MATH_Vector::init(), MATH_MaskVector::init(), EMM_LandauLifschitzODE_RK::integrateMagnetizationFieldAtTime(), EMM_DisplacementFVM_Interpolator::interpolateUAtVertices(), EMMG_SLDemagnetizedOperator::localAssembly(), EMM_DisplacementOperator::nullProjectionOnDirichletBoundary(), EMM_DisplacementOperator::periodicProjection(), EMM_2PackedSymmetricTensors::product(), EMM_CanonicalMassMatrix::product(), MATH_FullMatrix::product(), EMM_CondensedMassMatrix::product(), EMM_BlockMassMatrix::product(), MATH_MorseMatrix::product(), EMMG_SLDemagnetizedOperator::product(), EMM_DisplacementOperator::projectionOnDirichletBoundary(), EMM_LandauLifschitzSystem::resetOperatorsToInitialState(), EMM_DisplacementFVMOperator::setBoundaryFaceTypes(), FFTW_MultiDFTs::setFFT(), FFTW_MultiLevelsDFT::setFFT(), FFTW_MultiLevelsDFT::setLevels(), FFTW_MultiDFTs::setPlan(), FFTW_MultiLevelsDFT::setPlan(), EMM_CondensedMassMatrix::solve(), EMM_LandauLifschitzODE::solveODE(), EMM_4SymmetricTensors::squaredDoubleDot(), EMM_4Tensors::squaredDoubleDotCrossScalar(), EMM_4Tensors::squaredDoubleDotScalar(), EMM_CanonicalMassMatrix::symmetricDot(), EMM_CondensedMassMatrix::symmetricDot(), EMM_BlockMassMatrix::symmetricDot(), FFTW_Test::test(), MATH_SolverTest::test(), EMM_ODETest::testODE(), and EMM_Grid3D::updateLimitConditionOnPoints().

Here is the caller graph for this function:

◆ getTypeName()

template<class T >
static tString CORE_Object::getTypeName ( )
inlinestaticinherited

get type name

Returns
the type name of the class

References tString.

◆ getValues() [1/2]

template<class T>
const CORE_Array<T>& CORE_MorseArray< T >::getValues ( ) const
inline

◆ getValues() [2/2]

template<class T>
CORE_Array<T>& CORE_MorseArray< T >::getValues ( )
inline

get the values of the morse array

Returns
the array of values

◆ is32Architecture()

static tBoolean CORE_Object::is32Architecture ( )
inlinestaticinherited

return true if the machine is a 32 bits machine

Returns
true is the computing is done in a 32 bits machine

References CORE_Object::pointer2String(), CORE_Object::printObjectsInMemory(), and tString.

Referenced by CORE_Test::testType().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is64Architecture()

static tBoolean CORE_Object::is64Architecture ( )
inlinestaticinherited

return true if the machine is a 64 bits machine

Returns
true is the computing is done in a 64 bits machine

Referenced by EMM_VTK::getVTKType(), and CORE_Test::testType().

Here is the caller graph for this function:

◆ isConstant()

template<class T>
const tBoolean& CORE_MorseArray< T >::isConstant ( ) const
inline

return true if the morse array is constant

Referenced by EMM_LinearAnisotropyOperator::discretize(), EMM_AnisotropyOperator::discretize(), and CORE_MorseArray< tUChar >::uniformize().

Here is the caller graph for this function:

◆ isInstanceOf() [1/2]

template<class T >
tBoolean CORE_Object::isInstanceOf ( ) const
inlineinherited

test if the clas T is an instance of this class

Returns
true if the object is an instance of T

References null.

Referenced by MATH_ToeplitzTest::toeplitzTest().

Here is the caller graph for this function:

◆ isInstanceOf() [2/2]

tBoolean CORE_Object::isInstanceOf ( const tString name) const
inlineinherited

test if the object is an instance of className

Parameters
namename of the class
Returns
true if the object is an instance of class Name

References CORE_Object::getIdentityString().

Here is the call graph for this function:

◆ isMemoryChecked()

static const tBoolean& CORE_Object::isMemoryChecked ( )
inlinestaticinherited

get if the memory checking is used

Returns
true: if the memory checking is used.

References CORE_Object::getClassName(), CORE_Object::mIsMemoryTesting, and tString.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isUniform()

template<class T>
tBoolean CORE_MorseArray< T >::isUniform ( ) const
inline

return true if the morse array is unifom

Referenced by EMM_AnisotropyOperator::discretize(), EMM_AnisotropyDirectionsField::isUniform(), and EMM_Tensors::isUniform().

Here is the caller graph for this function:

◆ loadFromFile()

template<class T >
tBoolean CORE_MorseArray< T >::loadFromFile ( const tString fn)

load the morse array from file

Parameters
fnname of the file
Returns
true if the loading has succeeded

The file format is has follow :

comment

M is the number of element ie getSize()

P is the max values per element ie getMaxValuesNumberPerElement()

M P

U is 1: if the tensor is uniform over the domain, 0: otherwise

U

M[i][0] M[i][1] .... M[i][d] with d< P and i in [0,getSize()[ and line may be empty for no data on element i

...

Referenced by CORE_MorseArray< tUChar >::getIndices(), and EMM_Tensors::loadFromFile().

Here is the caller graph for this function:

◆ merge()

template<class T>
void CORE_MorseArray< T >::merge ( )
inline

◆ MergeMorseArray()

template<class T>
void CORE_MorseArray< T >::MergeMorseArray ( const tUInteger P,
CORE_UIndexArray indices,
const tUIndex ld,
CORE_Array< T > &  array 
)
static

merge morse arrays

Parameters
Pnumber of subsets of the elements
indicesthe indices subset array of size P+N
ldleading dimensions of the arrays (size of rows)
array: P packed matrices of size N x ld

array is a packed array.

  • arrays =[0,...,ld.(N/P),...,2.ld.(N/P),....,P.ld.(N/P)[: matrix of values of size P.N x ld. The max number of rows is P.N
  • indices=[0,...N-1,N,..,N+P[ indices[i+p] is the index of the first element of the row i from packed element at index p into the matrix values arrays and indices[i+1+p] is the index of the last excluded element of the row i from packed element at index p into the matrix values arrays

example P=2 ld=3 N=8:

arrays=[{(1 2 3) (4 5 6) (7 8 9) (. . .) } {(10 11 12 13) (14 15 16) (17 18 19) (20 21 22)}]

indexs=[0 3 6 9 9 0 3 6 9 12] of size N+P

will give :

arrays=[(1 2 3) (4 5 6) (7 8 9) (10 11 12 13) (14 15 16) (17 18 19) (20 21 22)] indexs=[0 3 6 9 9 12 15 18 21] of size N+1

Referenced by CORE_MorseArray< tUChar >::merge(), EMM_MorseArrayTest::test(), and CORE_MorseArray< tUChar >::uniformize().

Here is the caller graph for this function:

◆ MergeMorseArrays()

template<class T>
void CORE_MorseArray< T >::MergeMorseArrays ( const tUInteger nSubsets,
CORE_UIndexArray indices,
const tUIndex ld,
const vector< CORE_Array< T > * > &  arrays 
)
static

merge morse arrays

Parameters
nSubsetsnumber of subsets of the elements
indicesthe indices subset array of size nSubsets+size of arrays
ldleading dimensions of the arrays (size of rows)
arrayslist of pointer to morse arrays

do the same process as mergeMoserArray for more than one array

Referenced by CORE_MorseArray< tUChar >::uniformize().

Here is the caller graph for this function:

◆ New()

template<class T>
static boost::shared_ptr<CORE_MorseArray<T> > CORE_MorseArray< T >::New ( )
inlinestatic

create a new shared pointer of CORE_MorseArray

Returns
the created shared pointer

◆ operator*=()

template<class T>
template<class Q >
CORE_MorseArray<T>& CORE_MorseArray< T >::operator*= ( const Q &  f)
inline

This*=f.

Parameters
fthe multiplicator value
Returns
this

◆ operator+=()

template<class T>
template<class Q >
CORE_MorseArray<T>& CORE_MorseArray< T >::operator+= ( const Q &  f)
inline

This+=f.

Parameters
fthe parameter to add
Returns
this

◆ operator-=()

template<class T>
template<class Q >
CORE_MorseArray<T>& CORE_MorseArray< T >::operator-= ( const Q &  f)
inline

This+=f.

Parameters
fthe parameter to add
Returns
this

◆ operator/=()

template<class T>
template<class Q >
CORE_MorseArray<T>& CORE_MorseArray< T >::operator/= ( const Q &  f)
inline

This/=f.

Parameters
fthe division value
Returns
this

◆ operator=()

template<class T>
template<class Q >
CORE_MorseArray<T>& CORE_MorseArray< T >::operator= ( const CORE_MorseArray< Q > &  f)
inline

copy the array

Parameters
f: array to copy

◆ operator[]() [1/2]

template<class T>
T* CORE_MorseArray< T >::operator[] ( const tUIndex i)
inline

return the values for element at i

Parameters
iindex of the element

◆ operator[]() [2/2]

template<class T>
const T* CORE_MorseArray< T >::operator[] ( const tUIndex i) const
inline

return the values for element at i

Parameters
iindex of the element

◆ out()

static CORE_Out& CORE_Object::out ( )
inlinestaticinherited

get the output

Returns
the output stream

Referenced by EMM_Matter::adimensionize(), EMM_DisplacementFVMOperator::backup(), EMM_DisplacementOperator::backup(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralVectorProjector(), EMM_Test::caseTest(), EMM_Test::caseTests(), EMM_MatterField::computeAnisotropyDirectionsField(), EMM_OptimalTimeStep::computeOptimalTimeStep(), MATH_MultiLevelsToeplitzMatrix::copy(), CORE_Exception::CORE_Exception(), EMM_MatterField::createAnisotropyOperator(), CORE_Run::createIO(), EMM_ElementaryTest::defaultBackupTest(), EMM_ElementaryTest::defaultTest(), MATH_MultiLevelsFFTToeplitzMatrix::diagonalize(), EMM_DisplacementFVMOperator::discretize(), EMM_MagnetostrictionOperator::discretize(), EMM_DisplacementFEMOperator::discretize(), EMM_4SymmetricTensors::doubleDot(), EMM_4Tensors::doubleDotCrossDoubleDotScalar(), EMM_TensorsTest::doubleDotCrossDoubleDotScalarTests(), EMM_4Tensors::doubleDotCrossProduct(), EMM_TensorsTest::doubleDotCrossProductTests(), EMM_4Tensors::doubleDotCrossSquaredScalar(), EMM_TensorsTest::doubleDotCrossSquaredScalarTests(), EMM_4Tensors::doubleDotProduct(), EMM_TensorsTest::doubleDotProductTests(), EMM_DisplacementWaveTest::elasticWaveTest(), EMM_Test::elementaryTests(), FFTW_Test::fftwTutorial(), MATH_IntegrationTest::gaussLegendreTest(), EMM_MagnetostrictionTest::HComputingTest(), EMM_DemagnetizedPeriodicalTest::HTest(), EMMH_HysteresisTest::hysteresisDefaultCycleTest(), EMM_TensorsTest::initializationTests(), EMM_MultiScaleGrid::initialize(), EMM_MultiScaleSDGrid::initialize(), EMM_MatterField::loadFromANIFile(), EMM_AnisotropyDirectionsField::loadFromFile(), EMM_Matter::loadFromFile(), EMM_Grid3D::loadFromGEOFile(), EMM_MatterField::loadFromLOCFile(), EMM_Array< tCellFlag >::loadFromStream(), EMM_Matter::loadFromStream(), EMM_Matter::loadMattersFromFile(), EMM_Run::loadSystemFromOptions(), EMM_ElementaryTest::magnetostrictionBackupTest(), CORE_Run::make(), EMMH_Run::makeHysteresis(), EMM_Run::makeRun(), CORE_Run::makeType(), EMM_ElementaryTest::optionsTest(), MATH_PolynomialTest::P4Tests(), EMM_Test::primaryTests(), EMM_LandauLifschitzSystem::printLog(), CORE_Run::printOptions(), EMM_2PackedSymmetricTensors::product(), EMMG_SLDemagnetizedOperator::projectionOnSpectralSpace(), CORE_Run::readOptionsFromCommandLine(), CORE_Test::readVectorTest(), EMM_DemagnetizedPeriodicalTest::relaxationTest(), EMM_DisplacementFVMOperator::restore(), EMM_DisplacementOperator::restore(), EMM_Input::restoreBackup(), EMMH_Hysteresis::run(), EMM_Output::save(), EMM_AnisotropyDirectionsField::saveToFile(), EMM_MatterField::saveToFile(), EMM_Grid3D::saveToGEOFile(), CORE_IOTest::searchTest(), EMMH_Hysteresis::setInitialMagnetizationField(), MATH_MultiLevelsToeplitzMatrix::setLevels(), EMM_4SymmetricTensors::squaredDoubleDot(), EMM_4Tensors::squaredDoubleDotCrossScalar(), EMM_TensorsTest::squaredDoubleDotCrossScalarTests(), EMM_4Tensors::squaredDoubleDotScalar(), EMM_TensorsTest::squaredDoubleDotScalarTests(), EMM_TensorsTest::squaredDoubleDotTests(), EMM_MatterTest::testAdimensionize(), EMM_MatterTest::testANIFile(), CORE_Test::testComplex(), CORE_Test::testDateWeek(), FFTW_Test::testDFT(), EMM_MatterTest::testIO(), EMM_ODETest::testODE(), CORE_Test::testOut(), CORE_Test::testReal(), EMM_FieldTest::testRealArray(), EMM_Grid3DTest::testSegment(), EMM_Grid3DTest::testThinSheet(), CORE_Test::testTime(), CORE_Test::testType(), MATH_FullMatrix::toString(), EMM_DemagnetizedPeriodicalTest::xyPeriodicalCubeSDGTest(), and EMM_DemagnetizedPeriodicalTest::xyPeriodicalSheetSDGTest().

Here is the caller graph for this function:

◆ pointer2String()

tString CORE_Object::pointer2String ( const void *  obj)
staticinherited

return the string representation of a pointer

Parameters
obj: oject to get the string pointer
Returns
the string pointer of the object

References tString.

Referenced by CORE_Object::CORE_Object(), CORE_Object::getIdentityString(), CORE_Object::getPointerAddress(), CORE_Object::is32Architecture(), and CORE_Object::~CORE_Object().

Here is the caller graph for this function:

◆ printObjectsInMemory() [1/2]

void CORE_Object::printObjectsInMemory ( ostream &  f)
staticinherited

print object in memory

Parameters
f: output to print the objects in memory

References CORE_Object::getIdentityString(), CORE_Object::getSharedPointer(), CORE_Object::mIsMemoryTesting, CORE_Object::mObjects, and tInteger.

Here is the call graph for this function:

◆ printObjectsInMemory() [2/2]

static void CORE_Object::printObjectsInMemory ( )
inlinestaticinherited

print object in memory in the standart output

Referenced by CORE_Object::is32Architecture(), and main().

Here is the caller graph for this function:

◆ removeValue()

template<class T>
void CORE_MorseArray< T >::removeValue ( const T &  v)

remove the value

Parameters
vvalue to remove

Referenced by EMM_FullExchangeOperator::discretize(), CORE_MorseArray< tUChar >::setIndicesByReference(), and EMM_MorseArrayTest::test().

Here is the caller graph for this function:

◆ reset()

template<class T>
void CORE_MorseArray< T >::reset ( )
inline

◆ resetOut()

static void CORE_Object::resetOut ( )
inlinestaticinherited

reset the output stream

Referenced by run().

Here is the caller graph for this function:

◆ resetThread()

static void CORE_Object::resetThread ( )
inlinestaticinherited

reset the output stream

Referenced by run().

Here is the caller graph for this function:

◆ saveToFile()

template<class T >
tBoolean CORE_MorseArray< T >::saveToFile ( const tString fn) const

save the morse array into file

Parameters
fnname of the file
Returns
true if the saving has succeeded

The file format is has follow :

comment

M is the number of element ie getSize()

P is the max values per element ie getMaxValuesNumberPerElement()

M P

U is 1: if the tensor is uniform over the domain, 0: otherwise

U

M[i][0] M[i][1] .... M[i][d] with d< P and i in [0,getSize()[ and line may be empty for no data on element i

...

Referenced by CORE_MorseArray< tUChar >::getIndices(), and EMM_Tensors::saveToFile().

Here is the caller graph for this function:

◆ setIndicesByReference()

template<class T>
void CORE_MorseArray< T >::setIndicesByReference ( SP::CORE_UIndexArray  indices)
inline

set the indices by reference

Parameters
indicesthe indices of the morse array by reference

Referenced by EMM_DisplacementFVMOperator::computeElasticTensor(), EMM_AnisotropyOperator::discretize(), and MATH_MorseMatrix::MATH_MorseMatrix().

Here is the caller graph for this function:

◆ setIsMemoryChecked()

static void CORE_Object::setIsMemoryChecked ( const tBoolean v)
inlinestaticinherited

set if the memory checking is used

Parameters
v: true to check memory

Referenced by main().

Here is the caller graph for this function:

◆ setOut()

static void CORE_Object::setOut ( SP::CORE_Out  out)
inlinestaticinherited

set the output stream

Parameters
out: the shared pointer to the new output stream

References null.

◆ setSize() [1/2]

template<class T>
void CORE_MorseArray< T >::setSize ( const tUIndex n,
const tUIndex m,
const tUInteger p 
)
inline

◆ setSize() [2/2]

template<class T>
void CORE_MorseArray< T >::setSize ( const tUIndex n,
const tUIndex m 
)
inline

set the size of the morse array

Parameters
nnumber of elements
mmax number of values by element

◆ setThis()

void CORE_Object::setThis ( SP::CORE_Object  p)
inlineprotectedinherited

set this weak shared pointer called toDoAfterThis setting method

Parameters
p: shared pointer of the class This

References CORE_Object::toDoAfterThisSetting().

Here is the call graph for this function:

◆ setThread()

static void CORE_Object::setThread ( SP::CORE_Thread  thread)
inlinestaticinherited

set the thread

Parameters
threadthe shared pointer to the thread

References null.

Referenced by EMM_Run::EMM_Run(), EMM_TensorsRun::EMM_TensorsRun(), and MATH_SolverRun::MATH_SolverRun().

Here is the caller graph for this function:

◆ setUniformSize()

template<class T>
void CORE_MorseArray< T >::setUniformSize ( const tUIndex n,
const tUIndex ld 
)
inline

set the morse array to be uniform of size n x ld

Parameters
nnumber of elements
ldnumber of values per element

Referenced by EMM_LinearAnisotropyOperator::discretize(), EMM_AnisotropyOperator::discretize(), EMM_MatterField::getMatterParameterDistribution(), EMM_AnisotropyDirectionsField::loadFromMattersField(), EMM_AnisotropyDirectionsField::setAnisotropyDirections(), and EMM_Tensors::setUniformTensorsNumber().

Here is the caller graph for this function:

◆ toDoAfterThisSetting()

virtual void CORE_Object::toDoAfterThisSetting ( )
inlineprotectedvirtualinherited

method called after setThis() method this method can oly be called once.

Reimplemented in EMM_DisplacementOperator, EMM_DisplacementFVMOperator, EMM_GaussLegendreRelaxation, EMM_GradGaussLegendreRelaxation, and EMM_Object.

Referenced by CORE_Object::setThis().

Here is the caller graph for this function:

◆ toString()

template<class T >
tString CORE_MorseArray< T >::toString ( ) const
virtual

return the string reprensetaion of the morse array

Reimplemented from CORE_Object.

Referenced by EMM_Tensors::toString(), and CORE_MorseArray< tUChar >::uniformize().

Here is the caller graph for this function:

◆ uniformize() [1/2]

template<class T>
tBoolean CORE_MorseArray< T >::uniformize ( )
inline

uniformize the array

The array is uniform , if all the values of all elements are the same

The array is constant, if all the values of all not null elements are the same

If the array is uniform:

  • turn the values to the common size of all elements
  • turn the indices to size 2

to know if the array is constant call isContant() method

Referenced by EMM_LinearAnisotropyOperator::buildAnisotropyMatrix(), EMM_AnisotropyOperator::buildAnisotropyMatrix(), EMM_MatterField::getMatterParameterDistribution(), EMM_AnisotropyDirectionsField::loadFromFile(), EMM_AnisotropyDirectionsField::loadFromMattersField(), and CORE_MorseArray< tUChar >::uniformize().

Here is the caller graph for this function:

◆ uniformize() [2/2]

template<class T >
tBoolean CORE_MorseArray< T >::uniformize ( tBoolean isConstant)
private

test if the morse array is uniform or constant.

Parameters
isConstantthe indicator to detect constant array

The array is uniform , if all the values of all element are the same

The array is constant, if all the values of no null element are the same

If the array is uniform:

  • turn the values to the common size of all elements
  • turn the indices to size 2

Member Data Documentation

◆ mIncI

template<class T>
tBoolean CORE_MorseArray< T >::mIncI
private

◆ mIndices

template<class T>
SP::CORE_UIndexArray CORE_MorseArray< T >::mIndices
private

◆ mIsConstant

template<class T>
tBoolean CORE_MorseArray< T >::mIsConstant
private

◆ mIsIndicesReferenced

template<class T>
tBoolean CORE_MorseArray< T >::mIsIndicesReferenced
private

◆ mLD

template<class T>
tUIndex CORE_MorseArray< T >::mLD
private

◆ mPacksNumber

template<class T>
tUInteger CORE_MorseArray< T >::mPacksNumber
private

◆ mSize

template<class T>
tUIndex CORE_MorseArray< T >::mSize
private

◆ mValues

template<class T>
CORE_Array<T> CORE_MorseArray< T >::mValues
private

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