bpp-core3
3.0.0
|
This class is designed to facilitate the manipulation of parameters. More...
#include <Bpp/Numeric/Parameter.h>
Public Member Functions | |
Parameter () | |
Default contructor. Creates a parameter with no name, no constraint, and a value of 0. More... | |
Parameter (const std::string &name, double value, std::shared_ptr< ConstraintInterface > constraint=0, double precision=0) | |
Build a new parameter. More... | |
Parameter (const std::string &name, double value, std::shared_ptr< ConstraintInterface > constraint, bool precision)=delete | |
Parameter (const Parameter ¶m) | |
Copy constructor. More... | |
Parameter & | operator= (const Parameter ¶m) |
Assignment operator. More... | |
virtual | ~Parameter () |
Parameter * | clone () const |
Create a copy of this object and send a pointer to it. More... | |
virtual void | setName (const std::string &name) |
Set the name of this parameter. More... | |
virtual void | setValue (double value) |
Set the value of this parameter. More... | |
void | setPrecision (double precision) |
Set the precision of this parameter. More... | |
virtual const std::string & | getName () const |
Get the name of this parameter. More... | |
virtual double | getValue () const |
Get the value of this parameter. More... | |
virtual double | getPrecision () const |
Get the precision of this parameter. More... | |
virtual std::shared_ptr< const ConstraintInterface > | getConstraint () const |
Return the constraint associated to this parameter if there is one. More... | |
virtual const ConstraintInterface & | constraint () const |
Return the constraint associated to this parameter if there is one. More... | |
virtual std::shared_ptr< ConstraintInterface > | getConstraint () |
Return the constraint associated to this parameter if there is one. More... | |
virtual ConstraintInterface & | constraint () |
Return the constraint associated to this parameter if there is one. More... | |
virtual bool | hasConstraint () const |
Tells if this parameter has a constraint. More... | |
virtual std::shared_ptr< ConstraintInterface > | removeConstraint () |
Remove the constraint associated to this parameter. More... | |
virtual void | setConstraint (std::shared_ptr< ConstraintInterface > constraint) |
Set a constraint to this parameter. More... | |
virtual void | addParameterListener (std::shared_ptr< ParameterListener > listener) |
Add a new listener to this parameter. More... | |
virtual void | removeParameterListener (const std::string &listenerId) |
Remove all listeners with a given id from this parameter. More... | |
virtual bool | hasParameterListener (const std::string &listenerId) |
Tell is there is a listener with a given id from this parameter. More... | |
Static Public Attributes | |
static const std::shared_ptr< IntervalConstraint > | R_PLUS |
static const std::shared_ptr< IntervalConstraint > | R_PLUS_STAR |
static const std::shared_ptr< IntervalConstraint > | R_MINUS |
static const std::shared_ptr< IntervalConstraint > | R_MINUS_STAR |
static const std::shared_ptr< IntervalConstraint > | PROP_CONSTRAINT_IN |
static const std::shared_ptr< IntervalConstraint > | PROP_CONSTRAINT_EX |
Protected Member Functions | |
void | fireParameterNameChanged (ParameterEvent &event) |
void | fireParameterValueChanged (ParameterEvent &event) |
void | fireParameterConstraintChanged (ParameterEvent &event) |
Protected Attributes | |
std::string | name_ |
double | value_ |
double | precision_ |
std::shared_ptr< ConstraintInterface > | constraint_ |
std::vector< std::shared_ptr< ParameterListener > > | listeners_ |
This class is designed to facilitate the manipulation of parameters.
A parameter object contains a value stored as a double. It also contains a name and optionaly a constraint. Constraint objects allows to apply restriction on the value of the parameter, for instance positive number, or a particular interval and so on.
Definition at line 97 of file Parameter.h.
|
inline |
Default contructor. Creates a parameter with no name, no constraint, and a value of 0.
Definition at line 113 of file Parameter.h.
References bpp::ParameterEvent::operator=().
Parameter::Parameter | ( | const std::string & | name, |
double | value, | ||
std::shared_ptr< ConstraintInterface > | constraint = 0 , |
||
double | precision = 0 |
||
) |
Build a new parameter.
name | The parameter name. |
value | The parameter value. |
constraint | An optional pointer toward a constraint Object. The constraint will be copied and attached to this instance. |
precision | An optional parameter precision (default 0) |
ConstraintException | If the parameter value does not match the contraint. |
Constructors:
Definition at line 24 of file Parameter.cpp.
References setPrecision(), and setValue().
|
delete |
Parameter::Parameter | ( | const Parameter & | param | ) |
Copy constructor.
Definition at line 31 of file Parameter.cpp.
|
virtual |
Destructor:
Definition at line 51 of file Parameter.cpp.
|
inlinevirtual |
Add a new listener to this parameter.
listener | The listener to add. |
Definition at line 261 of file Parameter.h.
Referenced by bpp::AbstractParameterAliasable::aliasParameters().
|
inlinevirtual |
Create a copy of this object and send a pointer to it.
Implements bpp::Clonable.
Reimplemented in bpp::PlaceboTransformedParameter, bpp::IntervalTransformedParameter, bpp::RTransformedParameter, and bpp::TransformedParameter.
Definition at line 140 of file Parameter.h.
Referenced by bpp::ParameterList::addParameter(), bpp::AbstractParameterAliasable::aliasParameters(), bpp::ParameterList::getCommonParametersWith(), and bpp::ParameterList::setParameter().
|
inlinevirtual |
Return the constraint associated to this parameter if there is one.
Definition at line 203 of file Parameter.h.
Referenced by setConstraint().
|
inlinevirtual |
Return the constraint associated to this parameter if there is one.
Definition at line 225 of file Parameter.h.
|
inlineprotected |
Definition at line 298 of file Parameter.h.
|
inlineprotected |
Definition at line 282 of file Parameter.h.
|
inlineprotected |
Definition at line 290 of file Parameter.h.
Referenced by setValue().
|
inlinevirtual |
Return the constraint associated to this parameter if there is one.
Definition at line 196 of file Parameter.h.
Referenced by bpp::AbstractParameterAliasable::aliasParameters(), bpp::ReparametrizationFunctionWrapper::init_(), bpp::ParameterList::matchParametersValues(), bpp::AliasParameterListener::parameterConstraintChanged(), bpp::ParameterList::setParametersValues(), and bpp::ParameterList::testParametersValues().
|
inlinevirtual |
Return the constraint associated to this parameter if there is one.
Definition at line 218 of file Parameter.h.
|
inlinevirtual |
Get the name of this parameter.
Definition at line 174 of file Parameter.h.
Referenced by bpp::ParameterList::addParameter(), bpp::AbstractParameterAliasable::addParameter_(), bpp::ParameterList::getCommonParametersWith(), bpp::ParametersStopCondition::getCurrentTolerance(), bpp::NumCalcApplicationTools::getDefaultValue(), bpp::ParameterList::getParameterValue(), bpp::ParameterList::hasParameter(), bpp::ReparametrizationFunctionWrapper::init_(), bpp::ParametersStopCondition::isToleranceReached(), bpp::ParameterList::parameter(), bpp::AliasParameterListener::parameterConstraintChanged(), bpp::AliasParameterListener::parameterValueChanged(), and bpp::FullHmmTransitionMatrix::setTransitionProbabilities().
|
inlinevirtual |
Get the precision of this parameter.
Definition at line 188 of file Parameter.h.
|
inlinevirtual |
Get the value of this parameter.
Definition at line 181 of file Parameter.h.
Referenced by bpp::AbstractParameterAliasable::aliasParameters(), bpp::ParametersStopCondition::getCurrentTolerance(), bpp::NumCalcApplicationTools::getDefaultValue(), bpp::RTransformedParameter::getFirstOrderDerivative(), bpp::IntervalTransformedParameter::getFirstOrderDerivative(), bpp::RTransformedParameter::getOriginalValue(), bpp::IntervalTransformedParameter::getOriginalValue(), bpp::PlaceboTransformedParameter::getOriginalValue(), bpp::AbstractParametrizable::getParameterValue(), bpp::ParameterList::getParameterValue(), bpp::RTransformedParameter::getSecondOrderDerivative(), bpp::IntervalTransformedParameter::getSecondOrderDerivative(), bpp::TestFunction::getValue(), bpp::ReparametrizationFunctionWrapper::init_(), bpp::ParametersStopCondition::isToleranceReached(), bpp::ParameterList::matchParametersValues(), bpp::ParameterList::setAllParametersValues(), bpp::ParameterList::setParametersValues(), and bpp::ParameterList::testParametersValues().
|
inlinevirtual |
Tells if this parameter has a constraint.
Definition at line 238 of file Parameter.h.
Referenced by bpp::AbstractParameterAliasable::aliasParameters(), bpp::ParameterList::matchParametersValues(), bpp::ParameterList::setParametersValues(), and bpp::ParameterList::testParametersValues().
|
virtual |
Tell is there is a listener with a given id from this parameter.
listenerId | The id of listener to remove. |
Definition at line 104 of file Parameter.cpp.
References listeners_, PROP_CONSTRAINT_EX, PROP_CONSTRAINT_IN, R_MINUS, R_MINUS_STAR, R_PLUS, and R_PLUS_STAR.
Assignment operator.
Definition at line 39 of file Parameter.cpp.
References constraint_, listeners_, name_, precision_, and value_.
Referenced by bpp::AutoParameter::operator=().
|
virtual |
Remove the constraint associated to this parameter.
Warning! The contraint objet is not deleted.
Definition at line 85 of file Parameter.cpp.
References constraint_.
Referenced by bpp::AbstractParametrizable::removeConstraint(), and bpp::SimpleDiscreteDistribution::restrictToConstraint().
|
virtual |
Remove all listeners with a given id from this parameter.
listenerId | The id of listener to remove. |
Definition at line 94 of file Parameter.cpp.
References listeners_.
Referenced by bpp::AbstractParameterAliasable::unaliasParameters().
|
virtual |
Set a constraint to this parameter.
constraint | A pointer to the constraint (may be null) |
Constraint:
Definition at line 76 of file Parameter.cpp.
References constraint(), constraint_, and value_.
Referenced by bpp::AbstractParameterAliasable::aliasParameters(), bpp::AliasParameterListener::parameterConstraintChanged(), bpp::ConstantDistribution::restrictToConstraint(), bpp::TruncatedExponentialDiscreteDistribution::restrictToConstraint(), bpp::SimpleDiscreteDistribution::restrictToConstraint(), and bpp::AbstractParametrizable::setConstraint().
|
inlinevirtual |
Set the name of this parameter.
name | the new parameter name. |
Definition at line 148 of file Parameter.h.
Referenced by bpp::ParametrizableCollection< N >::addObject(), and bpp::FullHmmTransitionMatrix::setTransitionProbabilities().
void Parameter::setPrecision | ( | double | precision | ) |
Set the precision of this parameter.
precision | the new parameter precision. |
Precision:
Definition at line 69 of file Parameter.cpp.
References precision_.
Referenced by Parameter().
|
virtual |
Set the value of this parameter.
value | the new parameter value. |
Value:
Reimplemented in bpp::AutoParameter.
Definition at line 55 of file Parameter.cpp.
References constraint_, fireParameterValueChanged(), precision_, and value_.
Referenced by bpp::GoldenSectionSearch::doInit(), bpp::BrentOneDimension::doInit(), bpp::NewtonBacktrackOneDimension::doStep(), bpp::GoldenSectionSearch::doStep(), bpp::BrentOneDimension::doStep(), bpp::ReparametrizationFunctionWrapper::fireParameterChanged(), bpp::ParameterList::matchParametersValues(), Parameter(), bpp::AliasParameterListener::parameterValueChanged(), bpp::ParameterList::setAllParametersValues(), bpp::RTransformedParameter::setOriginalValue(), bpp::IntervalTransformedParameter::setOriginalValue(), bpp::PlaceboTransformedParameter::setOriginalValue(), bpp::ParameterList::setParametersValues(), bpp::ParameterList::setParameterValue(), and bpp::AutoParameter::setValue().
|
protected |
Definition at line 104 of file Parameter.h.
Referenced by operator=(), removeConstraint(), setConstraint(), bpp::AutoParameter::setValue(), and setValue().
|
protected |
Definition at line 105 of file Parameter.h.
Referenced by hasParameterListener(), operator=(), and removeParameterListener().
|
protected |
Definition at line 101 of file Parameter.h.
Referenced by operator=(), and bpp::AutoParameter::setValue().
|
protected |
Definition at line 103 of file Parameter.h.
Referenced by operator=(), setPrecision(), and setValue().
|
static |
Definition at line 312 of file Parameter.h.
Referenced by bpp::AutoCorrelationTransitionMatrix::AutoCorrelationTransitionMatrix(), hasParameterListener(), and bpp::Simplex::Simplex().
|
static |
Definition at line 311 of file Parameter.h.
Referenced by hasParameterListener(), bpp::InvariantMixedDiscreteDistribution::InvariantMixedDiscreteDistribution(), bpp::MixtureOfDiscreteDistributions::MixtureOfDiscreteDistributions(), bpp::SimpleDiscreteDistribution::SimpleDiscreteDistribution(), and bpp::Simplex::Simplex().
|
static |
Definition at line 309 of file Parameter.h.
Referenced by hasParameterListener().
|
static |
Definition at line 310 of file Parameter.h.
Referenced by hasParameterListener().
|
static |
Definition at line 307 of file Parameter.h.
Referenced by bpp::ExponentialDiscreteDistribution::ExponentialDiscreteDistribution(), hasParameterListener(), and bpp::TruncatedExponentialDiscreteDistribution::TruncatedExponentialDiscreteDistribution().
|
static |
Definition at line 308 of file Parameter.h.
Referenced by bpp::GaussianDiscreteDistribution::GaussianDiscreteDistribution(), and hasParameterListener().
|
protected |
Definition at line 102 of file Parameter.h.
Referenced by operator=(), setConstraint(), and setValue().