creativity
v1.3.0
Agent-based model of creativity and piracy
|
Base class for composite variables with two Variable components. More...
#include <creativity/data/Variable.hpp>
Public Member Functions | |
virtual unsigned int | size () const override |
Returns the size of the binary expression, if either left or right variables have a size. More... | |
![]() | |
virtual | ~Variable ()=default |
Virtual destructor. | |
virtual std::string | name () const =0 |
Returns a name for this variable. | |
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... | |
virtual void | populate (Eigen::Ref< Eigen::VectorXd > column, unsigned int offset=0, unsigned int trim=0) const =0 |
Populates the given column reference with this variable's values. 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... | |
Protected Member Functions | |
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 | |
std::shared_ptr< const Variable > | left_ |
The left-hand Variable. | |
std::shared_ptr< const Variable > | right_ |
The right-hand Variable. | |
Base class for composite variables with two Variable components.
|
overridevirtual |
Returns the size of the binary expression, if either left or right variables have a size.
If neither do, throws a SizeError exception.
Implements creativity::data::Variable.