C++ main module for emicrom Package
1.0
|
This class describes a general morse array of size N. A morse array is composed by. More...
#include <CORE_MorseArray.h>
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 tUIndex & | getSize () 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 tBoolean & | getIndexIncrement () const |
get the index increment More... | |
const tUIndex & | getMaxValuesNumberPerElement () const |
get the max number of values per element More... | |
const tUInteger & | getPacksNumber () 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_UIndexArray & | getIndices () 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_UIndexArray & | getIndices () |
get the indices of the morse array for reading More... | |
const tUIndex & | getIndex (const tUIndex &i) const |
get the pointer to the index of the first value for element i for reading More... | |
tUIndex & | getIndex (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 tBoolean & | isConstant () 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_Out & | out () |
get the output More... | |
static SP::CORE_Out | getOut () |
get the output More... | |
static CORE_Thread & | getThread () |
get the profilier More... | |
static const tBoolean & | isMemoryChecked () |
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 |
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
|
inline |
create an array
|
inlinevirtual |
destroy
|
inline |
create an iterator to index start for the pack at iPack for creating the morse array
start | start index in [0,mSize[ |
iPack | index of the pack in [0,getPacksNumber()[ |
iter | the morse iterator to set : iter will modified
|
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().
|
inline |
create an iterator to index start for the pack at iPack for writing the morse array only in values
start | start index in [0,mSize[ |
iter | the morse iterator to set : iter will modified only
|
|
inline |
create an iterator to index 0 of pack 0 for writing
iter | the morse iterator to set |
|
inline |
create an iterator to index start for reading
start | start index in [0,mSize[ |
iter | the morse iterator to set |
|
inline |
create an iterator to index 0 fro reading
iter | the morse iterator to set |
|
inline |
clear the morse array : desallocate the data.
Referenced by EMM_AnisotropyDirectionsField::clear().
|
inlinestaticinherited |
compute epsilon
|
inline |
copy the morse array param c: the morse array to copy
Referenced by EMM_Tensors::copy(), and CORE_MorseArray< tUChar >::operator=().
|
inline |
fit to size
Referenced by EMM_DisplacementFVMOperator::computeElasticTensor(), EMM_DisplacementFEMOperator::computeElasticTensor(), and MATH_MorseMatrix::fitToSize().
|
inherited |
return the class name of the object
References tString.
Referenced by CORE_Object::getIdentityString(), EMM_Operator::getName(), and CORE_Object::isMemoryChecked().
return the class name of the object
identityString | the identity string of the object |
|
inlinestaticinherited |
get the epsilon value for tDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tFloat type
|
inlinestaticinherited |
get the epsilon value for T type
|
inlinestaticinherited |
get the epsilon value for tFloat type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tFloat type
|
inlineinherited |
return the identity string of the object of the form className_at_address
References CORE_Object::getClassName(), CORE_Object::pointer2String(), and tString.
Referenced by MATH_GaussLegendreIntegration::copy(), EMM_MultiScaleGrid::initialize(), CORE_Object::isInstanceOf(), CORE_Object::printObjectsInMemory(), MATH_Matrix::toString(), EMMG_SLPeriodicMultiScale::toString(), EMM_Stepper::toString(), EMM_AnisotropyDirectionsField::toString(), EMM_BlockMassMatrix::toString(), CORE_Object::toString(), EMM_Tensors::toString(), EMM_MultiScaleGrid::toString(), EMM_MatterField::toString(), EMM_Grid3D::toString(), and EMM_LandauLifschitzSystem::toString().
|
inline |
get the pointer to the index of the first value for element i for reading
i | : index of the element |
Referenced by CORE_MorseArray< tUChar >::operator[]().
|
inline |
get the index of the first value for element i for writting
i | : index of the element |
|
inline |
get the index increment
Referenced by EMM_LinearAnisotropyOperator::buildAnisotropyMatrix(), EMM_AnisotropyOperator::buildAnisotropyMatrix(), EMM_CubicAnisotropyOperator::computeEnergy(), EMM_AnisotropyOperator::computeEnergyWithMagneticExcitation(), EMM_LinearAnisotropyOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationField(), EMM_AnisotropyOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_AnisotropyOperator::computeMagneticExcitationFieldGradient(), and CORE_MorseArray< tUChar >::copy().
|
inline |
get the indices of the morse array for reading
Referenced by CORE_MorseArray< tUChar >::begin(), EMM_DisplacementFEMOperator::computeElasticTensor(), CORE_MorseArray< tUChar >::copy(), MATH_MorseMatrix::getRowsIndices(), EMM_Tensors::setTensorsNumber(), and EMM_MorseArrayTest::test().
|
inline |
get the indices of the morse array for reading
|
inline |
get the indices of the morse array for reading/writing
Referenced by EMM_DisplacementFVMOperator::computeElasticTensor(), EMM_AnisotropyOperator::discretize(), and MATH_MorseMatrix::MATH_MorseMatrix().
|
inlinestaticinherited |
get the infinity for T type
|
inlinestaticinherited |
get the epsilon value for tLDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tDouble type
|
inlinestaticinherited |
get the max value for tChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the tFlag type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tFloat type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the array/vector indexing type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tInt type
Referenced by MATSGN_FFT::fastFourierTransform3D_FFTW(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the integer type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tLDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tULInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the real type
Referenced by EMM_MatterField::adimensionize(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tSInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tUChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get 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().
|
inlinestaticinherited |
get the max value for tUInt type
Referenced by EMM_Array< tCellFlag >::loadFromFile(), EMM_RealField::loadFromFile(), and CORE_Test::testType().
|
inlinestaticinherited |
get 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().
|
inlinestaticinherited |
get the max value for tULInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tULLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tUSInt type
Referenced by CORE_Test::testType().
|
inline |
get the max number of values per element
Referenced by CORE_MorseArray< tUChar >::copy(), and MATH_MorseMatrix::getColumnsNumber().
|
inlinevirtual |
return the memory size in byte
Referenced by EMM_LinearAnisotropyOperator::getMemorySize(), EMM_MinimalExchangeOperator::getMemorySize(), EMM_FullExchangeOperator::getMemorySize(), EMM_AnisotropyOperator::getMemorySize(), MATH_MorseMatrix::getMemorySize(), and EMM_Tensors::getMemorySize().
|
inlinestaticinherited |
get the min value for tChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the tFlag type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tFloat type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the array/vector indexing type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the integer type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tLDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tLLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the real type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tSInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tUChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for difference the array/vector indexing type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tUInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the unsigned integer type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tULInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tULLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tUSInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
|
inline |
get the number of packed
|
inlineinherited |
return the identity string of the object
References CORE_Object::pointer2String().
|
inlinestaticinherited |
get 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().
|
inlinestaticinherited |
get the infinity value
Referenced by BrentFunction::BrentFunction(), EMM_OperatorsTest::compareDiscretizedData(), EMM_IterativeTimeStep::EMM_IterativeTimeStep(), EMM_SLElementaryDemagnetizedMatrix::Kxy(), NRFunction::NRFunction(), EMM_PolynomialInterpolationTimeStep::optimizeTimeFunction(), and CORE_Test::testType().
|
inlineinherited |
get the shared pointer of this class into p
p | : shared pointer of the class This |
Referenced by CORE_Map< Key, Value >::getSharedPointer(), CORE_ArrayList< tString >::getSharedPointer(), EMM_Array< tCellFlag >::getSharedPointer(), CORE_Array< tCellFlag >::getSharedPointer(), CORE_MorseArray< tUChar >::getSharedPointer(), CORE_Vector< T >::getSharedPointer(), and CORE_Object::printObjectsInMemory().
|
inlineinherited |
get the shared pointer of this class into p
p | : shared pointer of the class This |
|
inline |
return the shared pointer corresponding to the class with casting d*
p | : the returned shared pointer array |
Referenced by CORE_MorseArray< tUChar >::getThis().
|
inline |
return the shared pointer corresponding to the class whith casting
p | : the returned shared pointer array |
|
inline |
get the number of elements of the array
Referenced by EMM_FullExchangeOperator::buildMatrix(), EMM_DisplacementFVM_Interpolator::computeNeighborCellsNumber(), CORE_MorseArray< tUChar >::copy(), EMM_AnisotropyDirectionsField::getCellsNumber(), EMM_AnisotropyDirectionsField::getDirectionsNumber(), EMM_AnisotropyDirectionsField::getDirectionsSize(), MATH_MorseMatrix::getRowsNumber(), EMM_Tensors::getTensorsNumber(), EMM_DisplacementFVM_Interpolator::interpolateUAtVertex(), EMM_Tensors::isNotNull(), EMM_Tensors::isNull(), EMM_AnisotropyDirectionsField::saveToFile(), and EMM_AnisotropyDirectionsField::toString().
|
inline |
get the number of values for element i
|
inlineprivate |
return the shared pointer this for writing
|
inlineprivate |
return the shared pointer this for reading
|
inlinestaticinherited |
get the profilier
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().
|
inlinestaticinherited |
|
inline |
get the values of the morse array
Referenced by CORE_MorseArray< tUChar >::begin(), CORE_MorseArray< tUChar >::copy(), MATH_MorseMatrix::getColumnsIndices(), EMM_AnisotropyDirectionsField::getDirectionsSize(), MATH_MorseMatrix::getValues(), EMM_AnisotropyDirectionsField::operator[](), and EMM_MorseArrayTest::test().
|
inline |
get the values of the morse array
|
inlinestaticinherited |
return true if the machine is a 32 bits machine
References CORE_Object::pointer2String(), CORE_Object::printObjectsInMemory(), and tString.
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
return true if the machine is a 64 bits machine
Referenced by EMM_VTK::getVTKType(), and CORE_Test::testType().
|
inline |
return true if the morse array is constant
Referenced by EMM_LinearAnisotropyOperator::discretize(), EMM_AnisotropyOperator::discretize(), and CORE_MorseArray< tUChar >::uniformize().
|
inlineinherited |
test if the clas T is an instance of this class
References null.
Referenced by MATH_ToeplitzTest::toeplitzTest().
test if the object is an instance of className
name | name of the class |
References CORE_Object::getIdentityString().
|
inlinestaticinherited |
get if the memory checking is used
References CORE_Object::getClassName(), CORE_Object::mIsMemoryTesting, and tString.
Referenced by main().
|
inline |
return true if the morse array is unifom
Referenced by EMM_AnisotropyOperator::discretize(), EMM_AnisotropyDirectionsField::isUniform(), and EMM_Tensors::isUniform().
tBoolean CORE_MorseArray< T >::loadFromFile | ( | const tString & | fn | ) |
load the morse array from file
fn | name of the file |
The file format is has follow :
M P
U
...
Referenced by CORE_MorseArray< tUChar >::getIndices(), and EMM_Tensors::loadFromFile().
|
inline |
merge the morse array built by P packs
Referenced by EMM_LinearAnisotropyOperator::buildAnisotropyMatrix(), EMM_AnisotropyOperator::buildAnisotropyMatrix(), EMM_Grid3D::buildMagnetizedElements(), EMM_Grid3D::buildMagnetizedNeighborsIndices(), EMM_FullExchangeOperator::buildMatrix(), EMM_Grid3D::buildNeighborsIndices(), EMM_MatterField::getMatterParameterDistribution(), EMM_AnisotropyDirectionsField::loadFromFile(), EMM_AnisotropyDirectionsField::loadFromMattersField(), and EMM_MorseArrayTest::test().
|
static |
merge morse arrays
P | number of subsets of the elements |
indices | the indices subset array of size P+N |
ld | leading dimensions of the arrays (size of rows) |
array | : P packed matrices of size N x ld |
array is a packed array.
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().
|
static |
merge morse arrays
nSubsets | number of subsets of the elements |
indices | the indices subset array of size nSubsets+size of arrays |
ld | leading dimensions of the arrays (size of rows) |
arrays | list of pointer to morse arrays |
do the same process as mergeMoserArray for more than one array
Referenced by CORE_MorseArray< tUChar >::uniformize().
|
inlinestatic |
create a new shared pointer of CORE_MorseArray
|
inline |
This*=f.
f | the multiplicator value |
|
inline |
This+=f.
f | the parameter to add |
|
inline |
This+=f.
f | the parameter to add |
|
inline |
This/=f.
f | the division value |
|
inline |
copy the array
f | : array to copy |
|
inline |
return the values for element at i
i | index of the element |
|
inline |
return the values for element at i
i | index of the element |
|
inlinestaticinherited |
get the output
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().
|
staticinherited |
return the string representation of a pointer
obj | : oject to get the string pointer |
References tString.
Referenced by CORE_Object::CORE_Object(), CORE_Object::getIdentityString(), CORE_Object::getPointerAddress(), CORE_Object::is32Architecture(), and CORE_Object::~CORE_Object().
|
staticinherited |
print object in memory
f | : output to print the objects in memory |
References CORE_Object::getIdentityString(), CORE_Object::getSharedPointer(), CORE_Object::mIsMemoryTesting, CORE_Object::mObjects, and tInteger.
|
inlinestaticinherited |
print object in memory in the standart output
Referenced by CORE_Object::is32Architecture(), and main().
void CORE_MorseArray< T >::removeValue | ( | const T & | v | ) |
remove the value
v | value to remove |
Referenced by EMM_FullExchangeOperator::discretize(), CORE_MorseArray< tUChar >::setIndicesByReference(), and EMM_MorseArrayTest::test().
|
inline |
init the array to 0
Referenced by EMM_LinearAnisotropyOperator::buildAnisotropyMatrix(), EMM_AnisotropyOperator::buildAnisotropyMatrix(), EMM_Grid3D::buildMagnetizedElements(), EMM_Grid3D::buildMagnetizedNeighborsIndices(), EMM_FullExchangeOperator::buildMatrix(), EMM_Grid3D::buildNeighborsIndices(), EMM_MatterField::getMatterParameterDistribution(), EMM_AnisotropyDirectionsField::loadFromMattersField(), and EMM_Tensors::reset().
|
inlinestaticinherited |
|
inlinestaticinherited |
tBoolean CORE_MorseArray< T >::saveToFile | ( | const tString & | fn | ) | const |
save the morse array into file
fn | name of the file |
The file format is has follow :
M P
U
...
Referenced by CORE_MorseArray< tUChar >::getIndices(), and EMM_Tensors::saveToFile().
|
inline |
set the indices by reference
indices | the indices of the morse array by reference |
Referenced by EMM_DisplacementFVMOperator::computeElasticTensor(), EMM_AnisotropyOperator::discretize(), and MATH_MorseMatrix::MATH_MorseMatrix().
|
inlinestaticinherited |
set if the memory checking is used
v | : true to check memory |
Referenced by main().
|
inlinestaticinherited |
|
inline |
set the size of the morse array
n | number of elements |
m | max number of values by element |
p | number of packed elements >=1 |
Referenced by EMM_LinearAnisotropyOperator::buildAnisotropyMatrix(), EMM_AnisotropyOperator::buildAnisotropyMatrix(), EMM_Grid3D::buildMagnetizedElements(), EMM_Grid3D::buildMagnetizedNeighborsIndices(), EMM_FullExchangeOperator::buildMatrix(), EMM_Grid3D::buildNeighborsIndices(), EMM_MatterField::getMatterParameterDistribution(), EMM_AnisotropyDirectionsField::loadFromFile(), EMM_AnisotropyDirectionsField::loadFromMattersField(), MATH_MorseMatrix::setSize(), EMM_AnisotropyDirectionsField::setSize(), CORE_MorseArray< tUChar >::setSize(), EMM_Tensors::setTensorsNumber(), and EMM_MorseArrayTest::test().
|
inline |
set the size of the morse array
n | number of elements |
m | max number of values by element |
|
inlineprotectedinherited |
set this weak shared pointer called toDoAfterThis setting method
p | : shared pointer of the class This |
References CORE_Object::toDoAfterThisSetting().
|
inlinestaticinherited |
set the thread
thread | the shared pointer to the thread |
References null.
Referenced by EMM_Run::EMM_Run(), EMM_TensorsRun::EMM_TensorsRun(), and MATH_SolverRun::MATH_SolverRun().
|
inline |
set the morse array to be uniform of size n x ld
n | number of elements |
ld | number 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().
|
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().
|
virtual |
return the string reprensetaion of the morse array
Reimplemented from CORE_Object.
Referenced by EMM_Tensors::toString(), and CORE_MorseArray< tUChar >::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:
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().
|
private |
test if the morse array is uniform or constant.
isConstant | the 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:
|
private |
Referenced by CORE_MorseArray< tUChar >::begin(), and CORE_MorseArray< tUChar >::getIndexIncrement().
|
private |
Referenced by CORE_MorseArray< tUChar >::getIndicesByReference().
|
private |
Referenced by CORE_MorseArray< tUChar >::isConstant().
|
private |
Referenced by CORE_MorseArray< tUChar >::getMemorySize().
|
private |
|
private |
Referenced by CORE_MorseArray< tUChar >::getPacksNumber().
|
private |
Referenced by CORE_MorseArray< tUChar >::getSize().
|
private |
Referenced by CORE_MorseArray< tUChar >::getValues(), and CORE_MorseArray< tUChar >::merge().