|
creativity
v1.3.0
Agent-based model of creativity and piracy
|
Wrapper class around a multiplication of the elements of two Variables. More...
#include <creativity/data/Variable.hpp>
Public Member Functions | |
| virtual void | populate (Eigen::Ref< Eigen::VectorXd > column, unsigned int offset=0, unsigned int trim=0) const override |
| Calculates the component-wise multiplication of the two variables. | |
| virtual std::string | name () const override |
| Returns the name by joining together left and right names with "*". More... | |
Public Member Functions inherited from creativity::data::BinaryExpr | |
| virtual unsigned int | size () const override |
| Returns the size of the binary expression, if either left or right variables have a size. More... | |
Public Member Functions inherited from creativity::data::Variable | |
| virtual | ~Variable ()=default |
| Virtual destructor. | |
| virtual std::string | nameBracketed (const std::string &bracketL="(", const std::string &bracketR=")") const |
| Returns a name for this variable, but with surrounding brackets if this variable needs it–for example, for a multiplication of two variables. More... | |
| Eigen::VectorXd | values (unsigned int rows=0, unsigned int offset=0, unsigned int trim=0) const |
| Shortcut wrapper around populate that creates a new column of the given size, calls populate() with it, then returns it. More... | |
Static Public Member Functions | |
| template<class... Args> | |
| static std::shared_ptr< Multiplication > | create (Args... args) |
| Forwards arguments to the protected constructor and returns a shared_ptr to the created object. | |
Additional Inherited Members | |
Protected Member Functions inherited from creativity::data::BinaryExpr | |
| BinaryExpr ()=delete | |
| Not default-constructible. | |
| BinaryExpr (const std::shared_ptr< const Variable > &left, const std::shared_ptr< const Variable > &right) | |
| Constructs a binary variable with the left and right variables. | |
Protected Attributes inherited from creativity::data::BinaryExpr | |
| std::shared_ptr< const Variable > | left_ |
| The left-hand Variable. | |
| std::shared_ptr< const Variable > | right_ |
| The right-hand Variable. | |
Wrapper class around a multiplication of the elements of two Variables.
This can be constructed explicitly or implicitly by the multiplication operator of two Variable objects.
|
overridevirtual |
Returns the name by joining together left and right names with "*".
If one or the other is something other than a SimpleVariable or ConstantVariable, the name is surrounded with parentheses.
As a special case, if the left variable is a ConstantVariable equal to -1, and Right is not a ConstantVariable, this results in "-name" instead of "-1*name".
Implements creativity::data::Variable.
1.8.12