C++ main module for mmsd Package
1.0
|
This class is the class to generate combinations, permutation, etc... More...
#include <STAT_Combinatorial.h>
Public Member Functions | |
void | getSharedPointer (boost::shared_ptr< STAT_Combinatorial< T > > &p) |
return the shared pointer corresponding to the class with casting More... | |
void | getSharedPointer (boost::shared_ptr< const STAT_Combinatorial< T > > &p) const |
return the shared pointer corresponding to the class whith casting More... | |
const T & | operator[] (const int &i) const |
get the i-th element Assert in (i>-1) Assert in (i<size()); More... | |
T & | operator[] (const int &i) |
get the i-th element Assert in (i>-1) Assert in (i<size()); More... | |
void | resize (const size_t &n) |
resize the vector & set the End index & the size More... | |
void | setSize (const size_t &n) |
resize More... | |
void | initVector () |
init the vector to index More... | |
void | setIsDisplay (const tBoolean &b) |
template<class UINT > | |
UINT | getCombinationsNumber (const UINT &p) |
compute the number of combinations to take p elements among n n!/(n-p)!*p! More... | |
template<class UINT > | |
UINT | getPermutationsNumber (const UINT &p) |
compute the number of permutations to take p elements among n n!/(n-p)! More... | |
template<class UINT > | |
UINT | getCircularPermutationsNumber (const UINT &p) |
compute the number of circular permutations to take p elements among n n!/(p*(n-p)!) More... | |
int | computeCombinations (const int &p) |
compute all combinations of size p More... | |
int | computeCombinations (T *combinations, const int &p) |
compute all combinations of size p combinations is assumed to have the size of getCombinationsNumber(p)*p; More... | |
int | computePermutations (const int &p) |
compute all permutations of size p More... | |
int | computePermutations (T *cpermutations, const int &p) |
compute all permutations of size p combinations is assumed to have the size of getPermutationsNumber(p)*p; More... | |
int | computeCircularPermutations (const int &p) |
compute all circular permutations of size p More... | |
int | computeCircularPermutations (T *combinations, const int &p) |
compute all circular permutations of size p combinations is assumed to have the size of getCircularPermutationsNumber(p)*p; More... | |
tBoolean | oneCombinationDone () |
method called at each combination done if return true succeeds More... | |
tBoolean | onePermutationDone () |
method called at each permutation done if return true succeeds More... | |
void | display () |
display on screnn the computation 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 |
return true if the object is an instance of T More... | |
virtual tString | toString () const |
return the string representation of the object node More... | |
virtual void | print () |
print the class More... | |
virtual ostream & | print (ostream &out) const |
print the class More... | |
virtual void | print (const tString &message) |
print the class More... | |
virtual void | print (const tInteger &str) |
print More... | |
virtual void | print (const tRelativeInteger &str) |
print More... | |
virtual void | print (const tReal &str) |
print More... | |
virtual void | print (const int &str) |
print More... | |
Static Public Member Functions | |
static boost::shared_ptr < STAT_Combinatorial< T > > | New () |
return a STAT_Combinatorial shared pointer More... | |
static boost::shared_ptr < STAT_Combinatorial< T > > | New (const int &n) |
return a STAT_Combinatorial shared pointer More... | |
static void | initSeed (const long int &v) |
init the seed for random computation More... | |
static void | initSeed () |
init the seed for random computation More... | |
template<class UINT > | |
static UINT | getCombinationsNumber (const UINT &p, const UINT &n) |
compute the number of combinations to take p elements among n n!/(n-p)!*p! More... | |
template<class UINT > | |
static UINT | getPermutationsNumber (const UINT &p, const UINT &n) |
compute the number of permutations to take p elements among n n!/(n-p)! More... | |
template<class UINT > | |
static UINT | getCircularPermutationsNumber (const UINT &p, const UINT &n) |
compute the number of circular permutations to take p elements among n n!/(p*(n-p)!) More... | |
static void | computeRandomPermutation (T *vect, const int &s) |
permute all the values of vector of size s in an random order More... | |
static void | computeRandomPermutation (T *vect, const int &s, const int &q) |
permute all the values by block of size q of the vector of size s More... | |
static tString | getClassName (const tString &identityString) |
return the class name of the object using only the identity string 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 represantation of a pointer More... | |
static void | setOutput (ostream &out) |
set output More... | |
static ostream & | getOutput () |
get output More... | |
static void | printObjectsInMemory () |
print object in memory More... | |
static ostream & | print (ostream &out, const tString &message) |
print the class More... | |
static void | outputPrint (const tString &message) |
Static Public Attributes | |
static tBoolean | mIsMemoryTesting =false |
indicator to store all classes created and deleted only for debuging version More... | |
Protected Member Functions | |
STAT_Combinatorial (void) | |
create an object More... | |
virtual | ~STAT_Combinatorial (void) |
destroy an object. More... | |
void | setThis (SP::CORE_Object p) |
set this weak shared pointer called toDoAfterThis setting method More... | |
virtual void | setType (tString type) |
set the type of the object More... | |
virtual void | toDoAfterThisSetting () |
method called after setThis() method this method can oly be called once. More... | |
This class is the class to generate combinations, permutation, etc...
the last considered index is at index mLastIndex
the end index is at index mEnd;
|
protected |
create an object
References null, and CORE_Object::setType().
|
protectedvirtual |
destroy an object.
References null.
int STAT_Combinatorial< T >::computeCircularPermutations | ( | const int & | p | ) |
compute all circular permutations of size p
References ASSERT_IN.
Referenced by STAT_Combinatorial< T >::computeCircularPermutations().
|
inline |
compute all circular permutations of size p combinations is assumed to have the size of getCircularPermutationsNumber(p)*p;
References STAT_Combinatorial< T >::computeCircularPermutations().
int STAT_Combinatorial< T >::computeCombinations | ( | const int & | p | ) |
compute all combinations of size p
References ASSERT_IN.
Referenced by STAT_Combinatorial< T >::computeCombinations().
|
inline |
compute all combinations of size p combinations is assumed to have the size of getCombinationsNumber(p)*p;
References STAT_Combinatorial< T >::computeCombinations().
int STAT_Combinatorial< T >::computePermutations | ( | const int & | p | ) |
compute all permutations of size p
References ASSERT_IN.
Referenced by STAT_Combinatorial< T >::computePermutations().
|
inline |
compute all permutations of size p combinations is assumed to have the size of getPermutationsNumber(p)*p;
References STAT_Combinatorial< T >::computePermutations().
|
inlinestatic |
permute all the values of vector of size s in an random order
vector | values to permute |
s | : size of vector |
Referenced by MMSD_IntegerFullMatrix::randomizeColumns().
|
inlinestatic |
permute all the values by block of size q of the vector of size s
vector | values to permute |
s | : size of vector |
q | is the block size |
void STAT_Combinatorial< T >::display | ( | ) |
display on screnn the computation
Referenced by STAT_Combinatorial< T >::oneCombinationDone().
|
static |
compute the number of circular permutations to take p elements among n n!/(p*(n-p)!)
Referenced by STAT_Combinatorial< T >::getCircularPermutationsNumber().
|
inline |
compute the number of circular permutations to take p elements among n n!/(p*(n-p)!)
References ASSERT_IN, and STAT_Combinatorial< T >::getCircularPermutationsNumber().
return the class name of the object using only the identity string
Referenced by UI_Class::createVector2D(), LAP_DoublePackedUpperMatrix::matrixProduct(), LAP_DoubleBandedUpperMatrix::matrixProduct(), LAP_DoubleFullUpperMatrix::matrixProduct(), and CORE_Object::printObjectsInMemory().
|
inherited |
return the class name of the object
References tString.
Referenced by CORE_Object::getIdentityString().
|
static |
compute the number of combinations to take p elements among n n!/(n-p)!*p!
Referenced by STAT_Combinatorial< T >::getCombinationsNumber().
|
inline |
compute the number of combinations to take p elements among n n!/(n-p)!*p!
References ASSERT_IN, and STAT_Combinatorial< T >::getCombinationsNumber().
|
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 UI_Class::createPrimitiveMap(), UI_Class::saveAssociation(), UI_Class::saveClass(), UI_ClassFactory::saveIntoClass(), MATH_StiefelFunction::toString(), LAP_2DView::toString(), CORE_Object::toString(), MATH_StiefelOptimizer::toString(), and MM_Class::toString().
|
inlinestaticinherited |
get output
|
static |
compute the number of permutations to take p elements among n n!/(n-p)!
Referenced by STAT_Combinatorial< T >::getPermutationsNumber().
|
inline |
compute the number of permutations to take p elements among n n!/(n-p)!
References ASSERT_IN, and STAT_Combinatorial< T >::getPermutationsNumber().
|
inlineinherited |
return the identity string of the object
References CORE_Object::pointer2String().
|
inlineinherited |
get the shared pointer of this class into p
Referenced by CORE_Map< Key, Value >::getSharedPointer(), CORE_Array< tFlag >::getSharedPointer(), LAP_ConstVector< lapack_real >::getSharedPointer(), STAT_Combinatorial< T >::getSharedPointer(), LAP_Vector< lapack_int >::getSharedPointer(), CORE_Vector< T >::getSharedPointer(), CORE_Matrix< T >::getSharedPointer(), and CORE_Object::printObjectsInMemory().
|
inlineinherited |
get the shared pointer of this class into p
|
inline |
return the shared pointer corresponding to the class with casting
References CORE_Object::getSharedPointer().
|
inline |
return the shared pointer corresponding to the class whith casting
References CORE_Object::getSharedPointer().
|
inlinestaticinherited |
get type name
References tString.
|
inlinestatic |
init the seed for random computation
|
inlinestatic |
init the seed for random computation
|
inline |
init the vector to index
|
inlinestaticinherited |
return true if the machine is a 32 bits machine
References CORE_Object::is64Architecture().
|
staticinherited |
return true if the machine is a 64 bits machine
Referenced by CORE_Object::is32Architecture().
|
inlineinherited |
return true if the object is an instance of T
References null.
|
inlinestatic |
return a STAT_Combinatorial shared pointer
Referenced by MMSD_IntegerFullMatrix::computeCombinations(), and testCombinations().
|
inlinestatic |
return a STAT_Combinatorial shared pointer
|
inline |
method called at each combination done if return true succeeds
References STAT_Combinatorial< T >::display(), and null.
Referenced by STAT_Combinatorial< T >::onePermutationDone().
|
inline |
method called at each permutation done if return true succeeds
References STAT_Combinatorial< T >::oneCombinationDone().
|
inline |
get the i-th element Assert in (i>-1) Assert in (i<size());
References ASSERT_IN.
|
inline |
get the i-th element Assert in (i>-1) Assert in (i<size());
References ASSERT_IN.
|
staticinherited |
print on output
References null, and CORE_Object::print().
Referenced by CORE_Exception::CORE_Exception().
|
staticinherited |
return the string represantation of a pointer
References tString.
Referenced by CORE_Object::CORE_Object(), CORE_Object::getIdentityString(), CORE_Object::getPointerAddress(), and CORE_Object::~CORE_Object().
|
inlinevirtualinherited |
print the class
References CORE_Object::toString().
Referenced by CORE_Object::outputPrint(), CORE_Out::print(), CORE_Object::print(), CORE_Out::printInt(), CORE_Out::println(), CORE_Out::printReal(), CORE_Out::printString(), and CORE_Out::setAction().
|
inlinevirtualinherited |
print the class
References CORE_Object::print(), and CORE_Object::toString().
|
virtualinherited |
print the class
Reimplemented in CORE_Out.
References null, and CORE_Object::print().
|
virtualinherited |
References null.
|
virtualinherited |
References null.
|
inlinestaticinherited |
print the class
|
staticinherited |
print object in memory
References CORE_Object::getClassName(), CORE_Object::getSharedPointer(), and CORE_Object::mIsMemoryTesting.
Referenced by main().
|
inline |
resize the vector & set the End index & the size
References null.
Referenced by STAT_Combinatorial< T >::setSize().
|
inline |
|brief set true if the display on screeen of the combinatorial is enabled
|
inlinestaticinherited |
set output
|
inline |
|
inlineprotectedinherited |
set this weak shared pointer called toDoAfterThis setting method
References CORE_Object::toDoAfterThisSetting().
|
inlineprotectedvirtualinherited |
set the type of the object
Referenced by LAP_IntegerVector::LAP_IntegerVector(), MATH_BetaFunction::MATH_BetaFunction(), MATH_C1Function::MATH_C1Function(), MATH_DigammaFunction::MATH_DigammaFunction(), MATH_EigenFunction::MATH_EigenFunction(), MATH_Equation::MATH_Equation(), MATH_Function::MATH_Function(), MATH_GammaFunction::MATH_GammaFunction(), MATH_KeplerFunction::MATH_KeplerFunction(), MATH_LogGammaFunction::MATH_LogGammaFunction(), MATH_NewtonEquation::MATH_NewtonEquation(), MATH_StiefelFunction::MATH_StiefelFunction(), MATH_StiefelOptimizer::MATH_StiefelOptimizer(), MATH_TranscendentEquation::MATH_TranscendentEquation(), MATH_TrigammaFunction::MATH_TrigammaFunction(), MATH_ZeroEquation::MATH_ZeroEquation(), MATH_ZKeplerFunction::MATH_ZKeplerFunction(), MM_Attribute::MM_Attribute(), MM_Class::MM_Class(), MM_ClassFactory::MM_ClassFactory(), MM_Data::MM_Data(), MM_Structure::MM_Structure(), MMSD_ClassFactory::MMSD_ClassFactory(), MMSD_Cluster::MMSD_Cluster(), MMSD_ConstDoubleVector::MMSD_ConstDoubleVector(), MMSD_ConstraintGaussianCluster::MMSD_ConstraintGaussianCluster(), MMSD_ConstraintGaussianModel::MMSD_ConstraintGaussianModel(), MMSD_DataSet::MMSD_DataSet(), MMSD_DataSetClassFactory::MMSD_DataSetClassFactory(), MMSD_DoubleFullMatrix::MMSD_DoubleFullMatrix(), MMSD_DoubleSymmetricMatrix::MMSD_DoubleSymmetricMatrix(), MMSD_DoubleVector::MMSD_DoubleVector(), MMSD_FluryGautschiGaussianLaw::MMSD_FluryGautschiGaussianLaw(), MMSD_GaussianCluster::MMSD_GaussianCluster(), MMSD_GaussianFDFunction::MMSD_GaussianFDFunction(), MMSD_GaussianLaw::MMSD_GaussianLaw(), MMSD_GaussianModel::MMSD_GaussianModel(), MMSD_Law::MMSD_Law(), MMSD_Model::MMSD_Model(), MMSD_ModelClassFactory::MMSD_ModelClassFactory(), MMSD_Object::MMSD_Object(), MMSD_StiefelFunction::MMSD_StiefelFunction(), MMSD_StiefelGaussianLaw::MMSD_StiefelGaussianLaw(), STAT_BernoulliDistribution::STAT_BernoulliDistribution(), STAT_BinomialDistribution::STAT_BinomialDistribution(), STAT_Combinatorial< T >::STAT_Combinatorial(), STAT_DiracDistribution::STAT_DiracDistribution(), STAT_Distribution::STAT_Distribution(), STAT_ExponentialDistribution::STAT_ExponentialDistribution(), STAT_GammaDistribution::STAT_GammaDistribution(), STAT_GeometricDistribution::STAT_GeometricDistribution(), STAT_InverseNormalDistribution::STAT_InverseNormalDistribution(), STAT_NormalDistribution::STAT_NormalDistribution(), STAT_Object::STAT_Object(), STAT_PoissonDistribution::STAT_PoissonDistribution(), STAT_UniformDistribution::STAT_UniformDistribution(), and STAT_UniformLaplaceTransform::STAT_UniformLaplaceTransform().
|
inlineprotectedvirtualinherited |
method called after setThis() method this method can oly be called once.
Reimplemented in STAT_UniformLaplaceTransform.
Referenced by CORE_Object::setThis(), and STAT_UniformLaplaceTransform::toDoAfterThisSetting().
|
virtualinherited |
return the string representation of the object node
Reimplemented in MM_Attribute, MM_Structure, MMSD_DoubleSymmetricMatrix, CORE_Time, CORE_Vector< T >, CORE_Array< T >, CORE_Array< tString >, CORE_Array< int >, CORE_Array< tFlag >, MM_Class, MMSD_Model, LAP_DoubleMatrix, LAP_DoubleVector, CORE_Array2D< T >, MMSD_Cluster, MMSD_FluryGautschiGaussianLaw, CORE_Color, CORE_Matrix< T >, MMSD_DataSet, CORE_SharedPointersVMap< Key, Value >, CORE_SharedPointersVMap< tString, const CORE_Object >, CORE_SharedPointersVMap< tString, CORE_Object >, MATH_StiefelOptimizer, MMSD_Law, CORE_SharedPointersListVMap< Key, Value >, MATH_Equation, CORE_SharedPointersKVMap< Key, Value >, MATH_TranscendentEquation, MMSD_GaussianLaw, MMSD_GaussianCluster, MMSD_StiefelGaussianLaw, MATH_NewtonEquation, CORE_String, LAP_View, CORE_Integer, LAP_2DView, MMSD_StiefelFunction, CORE_Array3D< T >, MATH_CubicPolynom, MATH_QuadraticPolynom, MATH_ZeroEquation, MMSD_ConstraintGaussianCluster, CORE_Complex, CORE_Real, MATH_EigenFunction, and MATH_StiefelFunction.
References CORE_Object::getIdentityString().
Referenced by CORE_Object::print(), MM_ClassFactory::saveIntoFile(), CORE_SharedPointersKVMap< Key, Value >::toString(), CORE_SharedPointersListVMap< Key, Value >::toString(), MMSD_Law::toString(), CORE_SharedPointersVMap< Key, Value >::toString(), MMSD_Cluster::toString(), and MMSD_Model::toString().
|
staticinherited |
indicator to store all classes created and deleted only for debuging version
Referenced by CORE_Object::CORE_Object(), main(), CORE_Object::printObjectsInMemory(), and CORE_Object::~CORE_Object().