44 return fabs(C->evaluate());
57 double temp = C->evaluate();
107 return std::min(left->evaluate(),right->evaluate());
120 return std::max(left->evaluate(),right->evaluate());
134 return left->evaluate()+right->evaluate();
151 return left->evaluate()-right->evaluate();
169 return -left->evaluate();
182 return left->evaluate()*right->evaluate();
195 return left->evaluate()/right->evaluate();
208 if (B->evaluate()==
true) {
209 return left->evaluate();
211 return right->evaluate();
236 double temp = C->evaluate();
237 if (temp > the_max) {
254 double temp = exp->evaluate();
255 if (temp < the_min) {
275 the_sum += exp->evaluate();
293 the_product *= exp->evaluate();
Constant_pos(const Constant &c)
Constant_exp(const Constant &i, const Constant &j)
Constant maximum(const Constant &a, const Constant &b)
Returns the larger of two constants.This is used in the formation of an expression.
Constant_min_2(const Constant &i, const Constant &j)
Constant_sum(const MP_domain &i, const Constant &e)
Constant_max_2(const Constant &i, const Constant &j)
Constant abs(const Constant &c)
for computing the absolute value of a constant value.This is used in the normal formation of an expre...
Constant operator/(const Constant &a, const Constant &b)
Returns the quotient of two constants.This is used in the formation of an expression.
Constant_max(const MP_domain &i, const Constant &e)
Constant_abs(const Constant &c)
Constant_div(const Constant &i, const Constant &j)
Constant product(const MP_domain &i, const Constant &e)
Returns the sum of two constants.
Constant_floor(const Constant &c)
Constant(const MP_index_exp &i)
Representation of an index.This is one of the main public interface classes. It is used to iterate th...
Constant_double(double d)
Utility for doing reference counted pointers.
Constant ceil(const Constant &c)
The ceiling integral value of the input constant.This is used in the formation of an expression...
Constant floor(const Constant &c)
The floor integral value of the input constant.This is used in the formation of an expression...
Constant operator+(const Constant &a, const Constant &b)
Returns the sum of two constants.This is used in the formation of an expression.
Constant mpif(const MP_boolean &c, const Constant &a, const Constant &b)
Constant_mult(const Constant &i, const Constant &j)
Representation of an expression involving an index.This is one of the main public interface classes...
Base class for all "constant" types of data.
Constant_index(const MP_index_exp &i)
Constant_minus(const Constant &i, const Constant &j)
Reference to a set of data.
Constant_min(const MP_domain &i, const Constant &e)
Constant_plus(const Constant &i, const Constant &j)
Constant operator-(const Constant &a, const Constant &b)
Returns the difference of two constants.This is used in the formation of an expression.
All flopc++ code is contained within the flopc namespace.
Constant_unary_minus(const Constant &i)
Constant minimum(const Constant &a, const Constant &b)
Returns the smaller of two constants.This is used in the formation of an expression.
Reference counted class for all "boolean" types of data.This contains counters to ConstantBase pointe...
Range over which some other constuct is defined.This is one of the main public interface classes...
Function object. Often used.
Constant pos(const Constant &c)
for returning non-negative value of the constant.This is used in the formation of an expression...
Reference counted class for all "constant" types of data.
Constant operator*(const Constant &a, const Constant &b)
Returns the product of two constants.This is used in the formation of an expression.
Constant_if(const MP_boolean b, const Constant &i, const Constant &j)
Constant sum(const MP_domain &i, const Constant &e)
Returns the sum of two constants.
Constant_ceil(const Constant &c)
Constant_product(const MP_domain &i, const Constant &e)