Initializing help system before first use

InternalFunctionExpression

A call to an internal function a non-linear formula. More...

#include <xpress_objects.hpp>

Inheritance diagram for xpress::objects::InternalFunctionExpression:
xpress::objects::FormulaExpression xpress::objects::AbstractExpression xpress::objects::Expression

Public Types

enum struct   FunctionType : int
  Enumeration for internal functions. More...
 
 Public Types inherited from xpress::objects::FormulaExpression
 Public Types inherited from xpress::objects::AbstractExpression
 Public Types inherited from xpress::objects::Expression

Public Member Functions

  InternalFunctionExpression (xpress::objects::InternalFunctionExpression::FunctionType function, std::vector< xpress::objects::Expression > arguments)
  Create a call to an internal function.
 
  InternalFunctionExpression (xpress::objects::InternalFunctionExpression::FunctionType function, xpress::objects::Expression argument)
  Create a call to an internal unary function.
 
  InternalFunctionExpression (xpress::objects::InternalFunctionExpression::FunctionType function, xpress::objects::Expression firstArgument, xpress::objects::Expression secondArgument)
  Create a call to an internal binary function.
 
template<typename... MOREARGUMENTS, typename RestrictPack = typename std::enable_if<xpress::AllConvertible<xpress::objects::Expression, MOREARGUMENTS...>::value>::type>
  InternalFunctionExpression (xpress::objects::InternalFunctionExpression::FunctionType function, xpress::objects::Expression firstArgument, xpress::objects::Expression secondArgument, MOREARGUMENTS... moreArguments)
  Create a call to an internal function with arbitrary arguments.
 
  InternalFunctionExpression (xpress::objects::InternalFunctionExpression::FunctionType function, xpress::SizedArray< Expression const > const &args)
  Create a call to an internal function with arbitrary arguments.
 
virtual auto  evaluate (xpress::SizedArray< double const > const &solution) const -> double override
  Compute the value of this expression with respect to the given solution vector (which is not required to be feasible).
Parameters
solution Solution values for which the expression is evaluated.
Returns
The value of this expression evaluated at solution.
Since
44.00

 
auto  getArguments () const -> std::vector< xpress::objects::Expression >
  Arguments to function call [get].
 
auto  getFunction () const -> xpress::objects::InternalFunctionExpression::FunctionType
  Function to call [get].
 
virtual auto  toString () const -> std::string override
  Get a string representation of this expression.
Returns
A string representing this expression.
Since
44.00

 
 Public Member Functions inherited from xpress::objects::FormulaExpression
virtual auto  extract (double factor, PostfixExtractor *extractor) const -> void override
 
 Public Member Functions inherited from xpress::objects::AbstractExpression
virtual auto  eq (double rhs) const -> xpress::objects::InequalityDefinition override
  Create an "equals" constraint with this expression as left-hand side.
Parameters
rhs Right-hand side of constraint.
Returns
The constraint.
Since
44.00

 
virtual auto  eq (Expression const &rhs) const -> xpress::objects::InequalityDefinition override
  Create an "equals" constraint with this expression as left-hand side.
Parameters
rhs Right-hand side of constraint.
Returns
The constraint.
Since
44.00

 
virtual auto  geq (double rhs) const -> xpress::objects::InequalityDefinition override
  Create a "greater than or equal" constraint with this expression as left-hand side.
Parameters
rhs Right-hand side of constraint.
Returns
The constraint.
Since
44.00

 
virtual auto  geq (Expression const &rhs) const -> xpress::objects::InequalityDefinition override
  Create a "greater than or equal" constraint with this expression as left-hand side.
Parameters
rhs Right-hand side of constraint.
Returns
The constraint.
Since
44.00

 
virtual auto  in (double lb, double ub) -> xpress::objects::InequalityDefinition override
  Create a range constraint that bounds this expression from below and above.
Parameters
lb Lower bound for this expression.
ub Upper bound for this expression.
Returns
The constraint.
Since
44.00

 
virtual auto  leq (double rhs) const -> xpress::objects::InequalityDefinition override
  Create a "less than or equal" constraint with this expression as left-hand side.
Parameters
rhs Right-hand side of constraint.
Returns
The constraint.
Since
44.00

 
virtual auto  leq (Expression const &rhs) const -> xpress::objects::InequalityDefinition override
  Create a "less than or equal" constraint with this expression as left-hand side.
Parameters
rhs Right-hand side of constraint.
Returns
The constraint.
Since
44.00

 
 Public Member Functions inherited from xpress::objects::Expression
virtual auto  div (double arg) const -> xpress::objects::Expression
  Create a expression that represents the quotient of this and arg.
 
virtual auto  div (Expression arg) const -> xpress::objects::Expression
  Create a expression that represents the quotient of this and arg.
 
virtual auto  minus (double arg) const -> xpress::objects::Expression
  Create a expression that represents the difference of this and arg.
 
virtual auto  minus (xpress::objects::Expression arg) const -> xpress::objects::Expression
  Create a expression that represents the difference of this and arg.
 
virtual auto  mul (double arg) const -> xpress::objects::Expression
  Create a expression that represents the product of this and arg.
 
virtual auto  mul (Expression arg) const -> xpress::objects::Expression
  Create a expression that represents the product of this and arg.
 
virtual auto  plus (double arg) const -> xpress::objects::Expression
  Create a expression that represents the sum of this and arg.
 
virtual auto  plus (xpress::objects::Expression arg) const -> xpress::objects::Expression
  Create a expression that represents the sum of this and arg.
 
virtual auto  uminus () const -> xpress::objects::Expression
  Create a expression that represents the unary minus of this one.
 

Detailed Description

A call to an internal function a non-linear formula.

Since
44.00

Member Enumeration Documentation

FunctionType

Enumeration for internal functions.

Since
44.00

Constructor & Destructor Documentation

InternalFunctionExpression() [1/5]

xpress::objects::InternalFunctionExpression::InternalFunctionExpression ( xpress::objects::InternalFunctionExpression::FunctionType function,
std::vector< xpress::objects::Expression > arguments )
inline

Create a call to an internal function.

Parameters
function Function to call.
arguments Arguments for function call.
Since
44.00

InternalFunctionExpression() [2/5]

xpress::objects::InternalFunctionExpression::InternalFunctionExpression ( xpress::objects::InternalFunctionExpression::FunctionType function,
xpress::objects::Expression argument )
inline

Create a call to an internal unary function.

Parameters
function Function called.
argument Argument to function call.
Since
44.00

InternalFunctionExpression() [3/5]

xpress::objects::InternalFunctionExpression::InternalFunctionExpression ( xpress::objects::InternalFunctionExpression::FunctionType function,
xpress::objects::Expression firstArgument,
xpress::objects::Expression secondArgument )
inline

Create a call to an internal binary function.

Parameters
function Function called.
firstArgument First to function call.
secondArgument Second to function call.
Since
44.00

InternalFunctionExpression() [4/5]

template<typename... MOREARGUMENTS, typename RestrictPack >
xpress::objects::InternalFunctionExpression::InternalFunctionExpression ( xpress::objects::InternalFunctionExpression::FunctionType function,
xpress::objects::Expression firstArgument,
xpress::objects::Expression secondArgument,
MOREARGUMENTS... moreArguments )
inline

Create a call to an internal function with arbitrary arguments.

Parameters
function Function called.
firstArgument First to function call.
secondArgument Second to function call.
moreArguments Additional arguments to function call.
Since
44.00

InternalFunctionExpression() [5/5]

xpress::objects::InternalFunctionExpression::InternalFunctionExpression ( xpress::objects::InternalFunctionExpression::FunctionType function,
xpress::SizedArray< Expression const > const & args )
inline

Create a call to an internal function with arbitrary arguments.

Parameters
function Function called.
args Arguments for the function call.
Since
44.00

Member Function Documentation

evaluate()

auto xpress::objects::InternalFunctionExpression::evaluate ( xpress::SizedArray< double const > const & solution ) const -> double
inlineoverridevirtual

Compute the value of this expression with respect to the given solution vector (which is not required to be feasible).

Parameters
solution Solution values for which the expression is evaluated.
Returns
The value of this expression evaluated at solution.
Since
44.00

Since
44.00

Reimplemented from xpress::objects::Expression.

getArguments()

auto xpress::objects::InternalFunctionExpression::getArguments ( ) const -> std::vector<xpress::objects::Expression>
inline

Arguments to function call [get].

Since
44.00

getFunction()

auto xpress::objects::InternalFunctionExpression::getFunction ( ) const -> xpress::objects::InternalFunctionExpression::FunctionType
inline

Function to call [get].

Since
44.00

toString()

auto xpress::objects::InternalFunctionExpression::toString ( ) const -> std::string
inlineoverridevirtual

Get a string representation of this expression.

Returns
A string representing this expression.
Since
44.00

Since
44.00

Reimplemented from xpress::objects::Expression.


The documentation for this class was generated from the following file:
  • xpress_objects.hpp

© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.