Public interface

Classes in this group are for normal modeling purposes. They are intended for consumption outside the library. More...

Classes

class  flopc::MP_boolean
 Reference counted class for all "boolean" types of data.

This contains counters to ConstantBase pointers. These pointers may be of any of the Boolean_base * type. This can be a constant valued boolean as well. explain SUBSETREF explain using pointer in -- should be private? More...

class  flopc::MP_constraint
 Semantic representation of a linear constraint.

This is one of the main public interface classes. It is always constructed through operator overloading between expressions, constants, and variables. There are many 'friend' overloaded operators to do the constuction. The basic idea is to make the constraint look like a paper-model constraint in C++ code. Once constructed, it should be added to the model. More...

class  flopc::MP_data
 Input data set.

This is one of the main public interface classes. It is normally directly constructed given a set of indices (domain) over which it is valid. If the data is not bound at construction, either the value() or initialize() method must be called which (deep) copies in the actual data. If one wishes to refer to external data instead rather than doing a deep copy, use the constructor which takes the value pointer as an argument. This copies the original data pointer value (rather than a deep copy).
This is used for construction of :. More...

class  flopc::MP_domain
 Range over which some other constuct is defined.

This is one of the main public interface classes. One uses this in the context of a constraint, objective, variable, or data. It is usually used in conjunction with an MP_set, or a subset, but can be used without one. It is the range over which the other construct is defined. More...

class  flopc::MP_domain_set
 Range over which some other constuct is defined.

This is one of the main public interface classes. One uses this in the context of a constraint, objective, variable, or data. This class in the MP_domain family uses an MP_set and and index for defining the Range over which the construct is defined. More...

class  flopc::MP_domain_subset< nbr >
 Range over which some other constuct is defined. Uses subsetting.

This is one of the main public interface classes. One uses this in the context of a constraint, objective, variable, or data. This class in the MP_domain family uses an MP_subset and a vector of indexes for defining the Range over which the construct is defined. More...

class  flopc::MP_expression
 Symbolic representation of a linear expression.

This is one of the main public interface classes. It is the basis for all linear expressions, including constraints, objective function, and expressions involving indexes.
Although these can be created directly and independently, it is expected these will be created through the use of the operators which are later in this file. (operator+, operator-, etc.). More...

class  flopc::MP_index
 Representation of an index.

This is one of the main public interface classes. It is used to iterate through, or index into an MP_domain. It is also used to share the 'current' index offsets between expressions which share an index. More...

class  flopc::MP_index_exp
 Representation of an expression involving an index.

This is one of the main public interface classes. It is used to create complex arrangements of index values.
Index expressions can involve:. More...

class  flopc::Messenger
 Inteface for hooking up to internal flopc++ message handling.

In more advanced use of FlopC++, it may be desirable to get access to internal calls for messages. In essence, sub-class this Messenger class, and register it with the MP_model. Also overload whichever message events you wish to handle. More...

class  flopc::MP_model
 This is the anchor point for all constructs in a FlopC++ model.

The constructors take an OsiSolverInterface, and (optionally) a replacemente for the Messenger class. There are some built-in changes to the verbosity for output.
The main methods to use are:. More...

class  flopc::MP_set
 Representation of a set for indexing into some other construct.

This is one of the main public interface classes. One uses this when constructing MP_domains, and subsets. It is frequent that one would directly construct sets of indices, then use expressions to subset or slice the data. More...

class  flopc::MP_variable
 Symantic representation of a variable.

This is one of the main public interface classes. It should be directly declared by clients of the FlopC++. The parametersof construction are MP_set s which specify the indexes over which the variable is defined. More...

class  flopc::MP_binary_variable

Functions

void flopc::forall (const MP_domain &d, const Functor &f)
 Global function for performing a Functor on each member of a MP_domain.
void flopc::forall (const Functor &f)
 Global function for performing a Functor without having a set to operate on.
void flopc::operator<<= (const MP_domain &s, const MP_domain &d)
 Global function which copies members of MP_domain d into another (possibly non-empty) MP_domain.
void flopc::minimize (const MP_expression &obj)
 This is one of the main entry points for execution

This calls the OsiSolverInterface to execute the solver with the objective of MINIMIZING the argment MP_expression.

void flopc::minimize_max (MP_set &d, const MP_expression &obj)
 This is one of the main entry points for execution

This calls the OsiSolverInterface to execute the solver with the objective of MINIMIZING THE MAXIMUM of the MP_expression evaluation of the MP_set.

void flopc::maximize (const MP_expression &obj)
 This is one of the main entry points for execution

This calls the OsiSolverInterface to execute the solver with the objective of MAXIMIZING of the MP_expression.

MP_boolean flopc::operator! (const MP_boolean &b)
 For computing the logical negation of a boolean

This is used in the normal formation of an expression.

MP_boolean flopc::operator && (const MP_boolean &e1, const MP_boolean &e2)
 For computing the logical AND of two booleans

This is used in the normal formation of an expression.

MP_boolean flopc::operator|| (const MP_boolean &e1, const MP_boolean &e2)
 For computing the logical OR of two booleans

This is used in the normal formation of an expression.

MP_boolean flopc::alltrue (const MP_domain &d, const MP_boolean &b)
 boolean which returns true if all in domain evaluate to true.

This is used in the normal formation of an expression.

MP_boolean flopc::operator<= (const MP_index_exp &e1, const MP_index_exp &e2)
 constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression. This is useful when combining index expressions.

MP_boolean flopc::operator<= (const Constant &e1, const Constant &e2)
 constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

MP_boolean flopc::operator< (const MP_index_exp &e1, const MP_index_exp &e2)
 constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression. This is useful when combining index expressions.

MP_boolean flopc::operator< (const Constant &e1, const Constant &e2)
 constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

MP_boolean flopc::operator>= (const MP_index_exp &e1, const MP_index_exp &e2)
 constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression. This is useful when combining index expressions.

MP_boolean flopc::operator>= (const Constant &e1, const Constant &e2)
 constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

MP_boolean flopc::operator> (const MP_index_exp &e1, const MP_index_exp &e2)
 constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression. This is useful when combining index expressions.

MP_boolean flopc::operator> (const Constant &e1, const Constant &e2)
 constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

MP_boolean flopc::operator== (const MP_index_exp &e1, const MP_index_exp &e2)
 constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression. This is useful when combining index expressions.

MP_boolean flopc::operator== (const Constant &e1, const Constant &e2)
 constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

MP_boolean flopc::operator!= (const MP_index_exp &e1, const MP_index_exp &e2)
 constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression. This is useful when combining index expressions.

MP_boolean flopc::operator!= (const Constant &e1, const Constant &e2)
 constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

Constant flopc::abs (const Constant &c)
 for computing the absolute value of a constant value.

This is used in the normal formation of an expression such as abs(-5)

Constant flopc::pos (const Constant &c)
 for returning non-negative value of the constant.

This is used in the formation of an expression. It is used to return a non-negative value..

Constant flopc::ceil (const Constant &c)
 The ceiling integral value of the input constant.

This is used in the formation of an expression. It is used to "round up" a numeric constant which is potentially non-integer.

Constant flopc::floor (const Constant &c)
 The floor integral value of the input constant.

This is used in the formation of an expression. It is used to "truncate" a numeric constant which is potentially non-integer.

Constant flopc::minimum (const Constant &a, const Constant &b)
 Returns the smaller of two constants.

This is used in the formation of an expression.

Constant flopc::maximum (const Constant &a, const Constant &b)
 Returns the larger of two constants.

This is used in the formation of an expression.

Constant flopc::operator+ (const Constant &a, const Constant &b)
 Returns the sum of two constants.

This is used in the formation of an expression.

Constant flopc::operator- (const Constant &a, const Constant &b)
 Returns the difference of two constants.

This is used in the formation of an expression.

Constant flopc::operator * (const Constant &a, const Constant &b)
 Returns the product of two constants.

This is used in the formation of an expression.

Constant flopc::operator/ (const Constant &a, const Constant &b)
 Returns the quotient of two constants.

This is used in the formation of an expression.

Constant flopc::maximum (const MP_domain &i, const Constant &e)
 Returns the maximum over the domain of the constant.
Constant flopc::minimum (const MP_domain &i, const Constant &e)
 Returns the sum of two constants.
Constant flopc::sum (const MP_domain &i, const Constant &e)
 Returns the sum of two constants.
Constant flopc::product (const MP_domain &i, const Constant &e)
 Returns the sum of two constants.
Constraint flopc::operator<= (const MP_expression &l, const MP_expression &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator<= (const Constant &l, const MP_expression &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator<= (const MP_expression &l, const Constant &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator<= (const VariableRef &l, const VariableRef &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator>= (const MP_expression &l, const MP_expression &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator>= (const Constant &l, const MP_expression &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator>= (const MP_expression &l, const Constant &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator>= (const VariableRef &l, const VariableRef &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator== (const MP_expression &l, const MP_expression &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator== (const Constant &l, const MP_expression &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator== (const MP_expression &l, const Constant &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator== (const VariableRef &l, const VariableRef &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.


Detailed Description

Classes in this group are for normal modeling purposes. They are intended for consumption outside the library.


Function Documentation

Constant flopc::abs ( const Constant c  ) 

for computing the absolute value of a constant value.

This is used in the normal formation of an expression such as abs(-5)

Definition at line 48 of file MP_constant.cpp.

MP_boolean flopc::alltrue ( const MP_domain d,
const MP_boolean b 
)

boolean which returns true if all in domain evaluate to true.

This is used in the normal formation of an expression.

Parameters:
d MP_domain to evaluate with
b boolean expression to evaluate.
Returns:
A boolean which evaluates to true all domain evaluations of the boolean evaluate to true.
Todo:
true? haven't used it.

Definition at line 151 of file MP_boolean.cpp.

Constant flopc::ceil ( const Constant c  ) 

The ceiling integral value of the input constant.

This is used in the formation of an expression. It is used to "round up" a numeric constant which is potentially non-integer.

Parameters:
c is a constant
Returns:
the ceiling or "rounded up" of the parameter
  • ceil(3.2) evaluates to 4.0

Definition at line 79 of file MP_constant.cpp.

Referenced by flopc::Constant_ceil::evaluate().

Constant flopc::floor ( const Constant c  ) 

The floor integral value of the input constant.

This is used in the formation of an expression. It is used to "truncate" a numeric constant which is potentially non-integer.

Parameters:
c is a constant
Returns:
the floor or "truncated" value of the parameter
  • floor(3.7) evaluates to 3.0

Definition at line 92 of file MP_constant.cpp.

Referenced by flopc::Constant_floor::evaluate().

void flopc::forall ( const Functor &  f  )  [inline]

Global function for performing a Functor without having a set to operate on.

Todo:
This turns into a no-op?

Definition at line 64 of file flopc.hpp.

References flopc::forall(), and flopc::MP_domain::getEmpty().

void flopc::forall ( const MP_domain &  d,
const Functor &  f 
) [inline]

Global function for performing a Functor on each member of a MP_domain.

Definition at line 55 of file flopc.hpp.

References flopc::MP_domain::Forall().

Referenced by flopc::forall().

void flopc::maximize ( const MP_expression &  obj  )  [inline]

This is one of the main entry points for execution

This calls the OsiSolverInterface to execute the solver with the objective of MAXIMIZING of the MP_expression.

Definition at line 107 of file flopc.hpp.

References flopc::MP_model::getDefaultModel(), and flopc::MP_model::maximize().

Constant flopc::maximum ( const MP_domain i,
const Constant e 
)

Returns the maximum over the domain of the constant.

Todo:
description? Haven't used this.
Parameters:
i MP_domain used in evaluation
e constant

Definition at line 267 of file MP_constant.cpp.

Constant flopc::maximum ( const Constant a,
const Constant b 
)

Returns the larger of two constants.

This is used in the formation of an expression.

Parameters:
a first constant
b second constant
Returns:
the greater of the two numbers
  • maximum(3.6,3.7) evaluates to 3.7

Definition at line 124 of file MP_constant.cpp.

void flopc::minimize ( const MP_expression &  obj  )  [inline]

This is one of the main entry points for execution

This calls the OsiSolverInterface to execute the solver with the objective of MINIMIZING the argment MP_expression.

Definition at line 83 of file flopc.hpp.

References flopc::MP_model::getDefaultModel(), and flopc::MP_model::minimize().

void flopc::minimize_max ( MP_set &  d,
const MP_expression &  obj 
) [inline]

This is one of the main entry points for execution

This calls the OsiSolverInterface to execute the solver with the objective of MINIMIZING THE MAXIMUM of the MP_expression evaluation of the MP_set.

Todo:
true?

Definition at line 96 of file flopc.hpp.

References flopc::MP_model::getDefaultModel(), and flopc::MP_model::minimize_max().

Constant flopc::minimum ( const MP_domain i,
const Constant e 
)

Returns the sum of two constants.

Todo:
description? Haven't used this.
Parameters:
i MP_domain used in evaluation
e second constant

Definition at line 270 of file MP_constant.cpp.

Constant flopc::minimum ( const Constant a,
const Constant b 
)

Returns the smaller of two constants.

This is used in the formation of an expression.

Parameters:
a first constant
b second constant
Returns:
the lesser of the two values.
  • minimum(3.6,3.7) evaluates to 3.6

Definition at line 111 of file MP_constant.cpp.

MP_boolean flopc::operator && ( const MP_boolean e1,
const MP_boolean e2 
)

For computing the logical AND of two booleans

This is used in the normal formation of an expression.

Parameters:
e1 first boolean
e2 second boolean
Returns:
A boolean which evaluates to true of both booleans are true.
Todo:
true? haven't used it.

Definition at line 158 of file MP_boolean.cpp.

Constant flopc::operator * ( const Constant a,
const Constant b 
)

Returns the product of two constants.

This is used in the formation of an expression.

Parameters:
a first constant
b second constant
Returns:
the result of multiplying the constants.

Definition at line 172 of file MP_constant.cpp.

MP_boolean flopc::operator! ( const MP_boolean b  ) 

For computing the logical negation of a boolean

This is used in the normal formation of an expression.

Parameters:
b boolean
Returns:
A boolean which evaluates to the negation of the input expression.
Todo:
true? haven't used it.

Definition at line 155 of file MP_boolean.cpp.

MP_boolean flopc::operator!= ( const Constant e1,
const Constant e2 
)

constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

Parameters:
e1 first constant expression
e2 second constant expression

Definition at line 197 of file MP_boolean.cpp.

MP_boolean flopc::operator!= ( const MP_index_exp e1,
const MP_index_exp e2 
)

constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression. This is useful when combining index expressions.

Parameters:
e1 is an index expression involving an MP_index
e2 second index expression
  • used in forming sets of tuples of index values, or subsets.
Todo:
improve this a bit?

Definition at line 191 of file MP_boolean.cpp.

Constant flopc::operator+ ( const Constant a,
const Constant b 
)

Returns the sum of two constants.

This is used in the formation of an expression.

Parameters:
a first constant
b second constant
Returns:
the sum of the constants.

Definition at line 138 of file MP_constant.cpp.

Constant flopc::operator- ( const Constant a,
const Constant b 
)

Returns the difference of two constants.

This is used in the formation of an expression.

Parameters:
a first constant
b second constant
Returns:
the difference between the constants.

Definition at line 155 of file MP_constant.cpp.

Constant flopc::operator/ ( const Constant a,
const Constant b 
)

Returns the quotient of two constants.

This is used in the formation of an expression.

Parameters:
a first constant
b second constant
Returns:
the result of dividing the first parameter by the second.

Definition at line 185 of file MP_constant.cpp.

MP_boolean flopc::operator< ( const Constant e1,
const Constant e2 
)

constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

Parameters:
e1 first constant expression
e2 second constant expression

Definition at line 173 of file MP_boolean.cpp.

MP_boolean flopc::operator< ( const MP_index_exp e1,
const MP_index_exp e2 
)

constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression. This is useful when combining index expressions.

Parameters:
e1 is an index expression involving an MP_index
e2 second index expression
  • used in forming sets of tuples of index values, or subsets.
Todo:
improve this a bit?

Definition at line 170 of file MP_boolean.cpp.

void flopc::operator<<= ( const MP_domain &  s,
const MP_domain &  d 
) [inline]

Global function which copies members of MP_domain d into another (possibly non-empty) MP_domain.

Definition at line 72 of file flopc.hpp.

References flopc::MP_domain::Forall().

Constraint flopc::operator<= ( const VariableRef &  l,
const VariableRef &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 96 of file MP_constraint.hpp.

References flopc::LE.

Constraint flopc::operator<= ( const MP_expression &  l,
const Constant &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 88 of file MP_constraint.hpp.

References flopc::operator<=().

Constraint flopc::operator<= ( const Constant &  l,
const MP_expression &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 80 of file MP_constraint.hpp.

References flopc::operator<=().

Constraint flopc::operator<= ( const MP_expression &  l,
const MP_expression &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 72 of file MP_constraint.hpp.

References flopc::LE.

MP_boolean flopc::operator<= ( const Constant e1,
const Constant e2 
)

constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

Parameters:
e1 first constant expression
e2 second constant expression

Definition at line 167 of file MP_boolean.cpp.

MP_boolean flopc::operator<= ( const MP_index_exp e1,
const MP_index_exp e2 
)

constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression. This is useful when combining index expressions.

Parameters:
e1 is an index expression involving an MP_index
e2 second index expression
  • used in forming sets of tuples of index values, or subsets.
Todo:
improve this a bit?
The brief code below is a bit contrived, but the right hand side illustrate the utility of combining an index expression. MP_index i;
MP_index j;
MP_boolean &b = (i+5)<=(j);

Definition at line 164 of file MP_boolean.cpp.

Referenced by flopc::operator<=().

Constraint flopc::operator== ( const VariableRef &  l,
const VariableRef &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 162 of file MP_constraint.hpp.

References flopc::EQ.

Constraint flopc::operator== ( const MP_expression &  l,
const Constant &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 154 of file MP_constraint.hpp.

References flopc::operator==().

Constraint flopc::operator== ( const Constant &  l,
const MP_expression &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 146 of file MP_constraint.hpp.

References flopc::operator==().

Constraint flopc::operator== ( const MP_expression &  l,
const MP_expression &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 138 of file MP_constraint.hpp.

References flopc::EQ.

MP_boolean flopc::operator== ( const Constant e1,
const Constant e2 
)

constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

Parameters:
e1 first constant expression
e2 second constant expression

Definition at line 194 of file MP_boolean.cpp.

MP_boolean flopc::operator== ( const MP_index_exp e1,
const MP_index_exp e2 
)

constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression. This is useful when combining index expressions.

Parameters:
e1 is an index expression involving an MP_index
e2 second index expression
  • used in forming sets of tuples of index values, or subsets.
Todo:
improve this a bit?

Definition at line 188 of file MP_boolean.cpp.

Referenced by flopc::operator==().

MP_boolean flopc::operator> ( const Constant e1,
const Constant e2 
)

constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

Parameters:
e1 first constant expression
e2 second constant expression

Definition at line 185 of file MP_boolean.cpp.

MP_boolean flopc::operator> ( const MP_index_exp e1,
const MP_index_exp e2 
)

constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression. This is useful when combining index expressions.

Parameters:
e1 is an index expression involving an MP_index
e2 second index expression
  • used in forming sets of tuples of index values, or subsets.
Todo:
improve this a bit?

Definition at line 182 of file MP_boolean.cpp.

Constraint flopc::operator>= ( const VariableRef &  l,
const VariableRef &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 129 of file MP_constraint.hpp.

References flopc::GE.

Constraint flopc::operator>= ( const MP_expression &  l,
const Constant &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 121 of file MP_constraint.hpp.

References flopc::operator>=().

Constraint flopc::operator>= ( const Constant &  l,
const MP_expression &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 113 of file MP_constraint.hpp.

References flopc::operator>=().

Constraint flopc::operator>= ( const MP_expression &  l,
const MP_expression &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 105 of file MP_constraint.hpp.

References flopc::GE.

MP_boolean flopc::operator>= ( const Constant e1,
const Constant e2 
)

constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

Parameters:
e1 first constant expression
e2 second constant expression

Definition at line 179 of file MP_boolean.cpp.

MP_boolean flopc::operator>= ( const MP_index_exp e1,
const MP_index_exp e2 
)

constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression. This is useful when combining index expressions.

Parameters:
e1 is an index expression involving an MP_index
e2 second index expression
  • used in forming sets of tuples of index values, or subsets.
Todo:
improve this a bit?

Definition at line 176 of file MP_boolean.cpp.

Referenced by flopc::operator>=().

MP_boolean flopc::operator|| ( const MP_boolean e1,
const MP_boolean e2 
)

For computing the logical OR of two booleans

This is used in the normal formation of an expression.

Parameters:
e1 first boolean
e2 second boolean
Returns:
A boolean which evaluates to true if either booleans are true.
Todo:
true? haven't used it.

Definition at line 161 of file MP_boolean.cpp.

Constant flopc::pos ( const Constant c  ) 

for returning non-negative value of the constant.

This is used in the formation of an expression. It is used to return a non-negative value..

Parameters:
c an imput constant
Returns:
the absolute value of the constant.
  • if the Constant is positive, it returns a positive number.
  • if the Constant is negative or zero, it returns 0.0

Definition at line 66 of file MP_constant.cpp.

Referenced by flopc::SubsetRef< nbr >::evaluate(), flopc::MP_subset< nbr >::evaluate(), flopc::MP_subset< nbr >::insert(), and flopc::MP_subset< nbr >::operator()().

Constant flopc::product ( const MP_domain i,
const Constant e 
)

Returns the sum of two constants.

Todo:
description? Haven't used this.
Parameters:
i MP_domain used in evaluation
e constant

Definition at line 276 of file MP_constant.cpp.

Constant flopc::sum ( const MP_domain i,
const Constant e 
)

Returns the sum of two constants.

Todo:
description? Haven't used this.
Parameters:
i MP_domain used in evaluation
e constant

Definition at line 273 of file MP_constant.cpp.


Generated on Fri Aug 26 03:03:08 2011 for FLOPC++ by  doxygen 1.4.7