39                   vector<Constant> multiplicators,
 
   59         return left->level()+right->level(); 
 
   62                   vector<Constant> multiplicators,
 
   65         left->generate(domain, multiplicators,f,m);
 
   66         right->generate(domain, multiplicators,f,m);
 
   78         return left->level()-right->level(); 
 
   81                   vector<Constant> multiplicators,
 
   84         left->generate(domain, multiplicators,f,m);
 
   85         right->generate(domain, multiplicators,f,-m);
 
   95         left(e1), right(e2) {}
 
   97         return left->evaluate()*right->level(); 
 
  100                   vector<Constant> multiplicators,
 
  103         multiplicators.push_back(left);
 
  104         right->generate(domain, multiplicators, f, m);
 
  107         right->insertVariables(v);
 
  119         the_sum += exp->level();
 
  127                   vector<Constant> multiplicators,
 
  131         exp->generate(D*domain, multiplicators, f, m); 
 
  134         exp->insertVariables(v);
 
  179 using namespace flopc;
 
  193     double multiplicator = 
m_;
 
  205             double val = multiplicator*
C->
getValue();
 
  207             if (tstage > stage) {
 
  212             Coefs.push_back(
Coef(colNumber, rowNumber, val, stage));
 
void generate(const MP_domain &domain, vector< Constant > multiplicators, GenerateFunctor &f, double m) const 
 
void generate(const MP_domain &domain, vector< Constant > multiplicators, GenerateFunctor &f, double m) const 
 
void generate(const MP_domain &domain, vector< Constant > multiplicators, GenerateFunctor &f, double m) const 
 
virtual int row_number() const 
 
Symbolic representation of a linear expression.This is one of the main public interface classes...
 
virtual double getValue() const =0
 
Expression_constant(const Constant &c)
 
void generate(const MP_domain &domain, vector< Constant > multiplicators, GenerateFunctor &f, double m) const 
 
Expression_mult(const Constant &e1, const MP_expression &e2)
 
Expression_sum(const MP_domain &d, const MP_expression &e)
 
void Forall(const Functor *op) const 
Special conditional operation on the domain. 
 
Utility for doing reference counted pointers. 
 
Constant operator+(const Constant &a, const Constant &b)
Returns the sum of two constants.This is used in the formation of an expression. 
 
const TerminalExpression * C
 
void insertVariables(set< MP_variable * > &v) const 
 
std::vector< Coef > & Coefs
 
The base class for all expressions. 
 
virtual int getColumn() const =0
 
const int outOfBound
Distinct return value on conditions where an index goes out of bounds. 
 
Constant operator-(const Constant &a, const Constant &b)
Returns the difference of two constants.This is used in the formation of an expression. 
 
void setTerminalExpression(const TerminalExpression *c)
 
Expression_minus(const MP_expression &e1, const MP_expression &e2)
 
void generate(const MP_domain &domain, vector< Constant > multiplicators, GenerateFunctor &f, double m) const 
 
std::vector< Constant > multiplicators
 
Internal representation of a Coefficient in a matrix. 
 
Range over which some other constuct is defined.This is one of the main public interface classes...
 
Function object. Often used. 
 
Reference counted class for all "constant" types of data. 
 
Functor to facilitate generation of coefficients. 
 
void insertVariables(set< MP_variable * > &v) const 
 
Constant operator*(const Constant &a, const Constant &b)
Returns the product of two constants.This is used in the formation of an expression. 
 
void setMultiplicator(std::vector< Constant > &mults, double m)
 
MP_expression()
default constructor 
 
Constant sum(const MP_domain &i, const Constant &e)
Returns the sum of two constants. 
 
virtual int getStage() const =0
 
void insertVariables(set< MP_variable * > &v) const 
 
The base class for all expressions. 
 
Expression_plus(const MP_expression &e1, const MP_expression &e2)
 
The base class for all expressions.