bpp-phyl3  3.0.0
bpp::ConfiguredParametrizable Class Reference

#include <Bpp/Phyl/Likelihood/DataFlow/Parametrizable.h>

Static Public Member Functions

template<typename Object , typename Self >
static std::shared_ptr< Self > createConfigured (Context &c, NodeRefVec &&deps, std::unique_ptr< Object > &&object, typename std::enable_if< std::is_base_of< ParameterAliasable, Object >::value >::type *=0)
 Create a new node to an Aliased Parameterized object from a dependency vector of Independent Parameters (which are already Configure). More...
 
template<typename Object , typename Self >
static std::shared_ptr< Self > createConfigured (Context &c, NodeRefVec &&deps, std::unique_ptr< Object > &&object, typename std::enable_if<!std::is_base_of< ParameterAliasable, Object >::value >::type *=0)
 Create a new node to a Parameterized object from a dependency vector of Parameters (which are already Configured). More...
 
template<typename Object , typename Self >
static std::shared_ptr< Self > createConfigured (Context &context, std::unique_ptr< Object > &&object)
 Create a new node to a Parameterized object ConfiguredParameters are built from its set of independent Parameters. More...
 
template<typename Object , typename Self >
static std::shared_ptr< Self > createConfigured (Context &context, const Object &object, ParameterList &parList, const std::string &suff="")
 Create a new node from a clonable object. Object parameters are get from ConfiguredParameters PREVIOUSLY built and stored in a ParameterList. More...
 
template<typename ConfiguredObject , typename Self >
static ValueRef< double > createDouble (Context &c, NodeRefVec &&deps)
 
template<typename ConfiguredObject , typename Self , typename Row >
static ValueRef< Row > createRowVector (Context &c, NodeRefVec &&deps, const Dimension< Row > &dim)
 
template<typename ConfiguredObject , typename Self , typename Col >
static ValueRef< Col > createVector (Context &c, NodeRefVec &&deps, const Dimension< Col > &dim)
 
template<typename ConfiguredObject , typename Self , typename Matrix >
static ValueRef< MatrixcreateMatrix (Context &c, NodeRefVec &&deps, const Dimension< Matrix > &dim)
 
template<typename ConfiguredObject , typename T , typename B >
static NodeRefVec generateDerivativeSumDepsForComputations (Context &c, ConfiguredObject &object, const Node_DF &derivationNode, const Dimension< T > &targetDimension, B buildFWithNewObject)
 

Detailed Description

Definition at line 47 of file Parametrizable.h.

Member Function Documentation

◆ createConfigured() [1/4]

template<typename Object , typename Self >
static std::shared_ptr<Self> bpp::ConfiguredParametrizable::createConfigured ( Context c,
NodeRefVec &&  deps,
std::unique_ptr< Object > &&  object,
typename std::enable_if< std::is_base_of< ParameterAliasable, Object >::value >::type *  = 0 
)
inlinestatic

Create a new node to an Aliased Parameterized object from a dependency vector of Independent Parameters (which are already Configure).

Object parameters are given by a dependency vector of Value<double> nodes. The number and order of parameters is given by the Object internal ParameterList.

Definition at line 60 of file Parametrizable.h.

References bpp::checkDependenciesNotNull(), and bpp::checkDependencyVectorSize().

◆ createConfigured() [2/4]

template<typename Object , typename Self >
static std::shared_ptr<Self> bpp::ConfiguredParametrizable::createConfigured ( Context c,
NodeRefVec &&  deps,
std::unique_ptr< Object > &&  object,
typename std::enable_if<!std::is_base_of< ParameterAliasable, Object >::value >::type *  = 0 
)
inlinestatic

Create a new node to a Parameterized object from a dependency vector of Parameters (which are already Configured).

Object parameters are given by a dependency vector of Value<double> nodes. The number and order of parameters is given by the Object internal ParameterList.

Definition at line 86 of file Parametrizable.h.

References bpp::checkDependenciesNotNull(), and bpp::checkDependencyVectorSize().

◆ createConfigured() [3/4]

template<typename Object , typename Self >
static std::shared_ptr<Self> bpp::ConfiguredParametrizable::createConfigured ( Context context,
const Object &  object,
ParameterList parList,
const std::string &  suff = "" 
)
inlinestatic

Create a new node from a clonable object. Object parameters are get from ConfiguredParameters PREVIOUSLY built and stored in a ParameterList.

Parameters
context
object: Object which will be cloned to the node.
parListlist of the ConfiguredParameters previously built
suffoptional suffix for the parameter name, in the context of a full DataFlow

Definition at line 136 of file Parametrizable.h.

References bpp::ConfiguredParameter::create(), bpp::ParameterList::getParameter(), bpp::ParameterList::hasParameter(), and bpp::ParameterList::size().

◆ createConfigured() [4/4]

template<typename Object , typename Self >
static std::shared_ptr<Self> bpp::ConfiguredParametrizable::createConfigured ( Context context,
std::unique_ptr< Object > &&  object 
)
inlinestatic

Create a new node to a Parameterized object ConfiguredParameters are built from its set of independent Parameters.

Definition at line 109 of file Parametrizable.h.

References bpp::createDependencyVector(), and bpp::createParameterMap().

◆ createDouble()

template<typename ConfiguredObject , typename Self >
static ValueRef<double> bpp::ConfiguredParametrizable::createDouble ( Context c,
NodeRefVec &&  deps 
)
inlinestatic

Create a new vector of dependencies node to a double, through a inheriting class (aka Self), from a ConfiguredObject

Definition at line 171 of file Parametrizable.h.

References bpp::checkDependenciesNotNull(), and bpp::checkDependencyVectorSize().

◆ createMatrix()

template<typename ConfiguredObject , typename Self , typename Matrix >
static ValueRef<Matrix> bpp::ConfiguredParametrizable::createMatrix ( Context c,
NodeRefVec &&  deps,
const Dimension< Matrix > &  dim 
)
inlinestatic

Create a new vector of dependencies node to a MatrixXd, through a inheriting class (aka Self), from a ConfiguredObject and an optional ConfiguredParameter (ie branch length)

Definition at line 215 of file Parametrizable.h.

References bpp::checkDependencyVectorMinSize(), and bpp::checkNthDependencyNotNull().

◆ createRowVector()

template<typename ConfiguredObject , typename Self , typename Row >
static ValueRef<Row> bpp::ConfiguredParametrizable::createRowVector ( Context c,
NodeRefVec &&  deps,
const Dimension< Row > &  dim 
)
inlinestatic

Create a new vector of dependencies node to a RowVectorXd, through a inheriting class (aka Self), from a ConfiguredObject

Additional dependencies are allowed

Definition at line 188 of file Parametrizable.h.

References bpp::checkDependencyVectorMinSize(), and bpp::checkNthDependencyNotNull().

◆ createVector()

template<typename ConfiguredObject , typename Self , typename Col >
static ValueRef<Col> bpp::ConfiguredParametrizable::createVector ( Context c,
NodeRefVec &&  deps,
const Dimension< Col > &  dim 
)
inlinestatic

◆ generateDerivativeSumDepsForComputations()

template<typename ConfiguredObject , typename T , typename B >
static NodeRefVec bpp::ConfiguredParametrizable::generateDerivativeSumDepsForComputations ( Context c,
ConfiguredObject &  object,
const Node_DF derivationNode,
const Dimension< T > &  targetDimension,
buildFWithNewObject 
)
inlinestatic

Definition at line 241 of file Parametrizable.h.

References bpp::ConstantOne, and bpp::ConstantZero.


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