LSExternalContext Class¶
-
class
LSExternalContext
¶ Context of an external function. External contexts can be used to query and set properties of the associated external function.
If you known the bounds of the external function or if you know it cannot return a NaN value, we recommend you to specify it as LocalSolver is then able to improve its search process. But beware! If the evaluation of the function returns an unexpected value (like a value outside of the bounds), an exception will be thrown during the search.
See: LSExpression::getExternalContext()
Since: 9.5
Summary¶
getIntLowerBound |
Gets the lower bound of the external function. |
getIntUpperBound |
Gets the upper bound of the external function. |
getDoubleLowerBound |
Gets the lower bound of the external function. |
getDoubleUpperBound |
Gets the upper bound of the external function. |
isNanable |
Returns true if the function can return a NaN (Not a Number) value. |
setLowerBound |
Sets the lower bound of the external function. |
setUpperBound |
Sets the upper bound of the external function. |
setIntLowerBound |
Sets the lower bound of the external function. |
setIntUpperBound |
Sets the upper bound of the external function. |
setDoubleLowerBound |
Sets the lower bound of the external function. |
setDoubleUpperBound |
Sets the upper bound of the external function. |
setNanable |
Sets whether or not the function can return a NaN (Not a Number) value. |
Functions¶
-
lsint
LSExternalContext
::
getIntLowerBound
() const¶ Gets the lower bound of the external function. Only allowed if the external function is an integer function. By default, this property is set to
LONG_LONG_MIN
.Returns: Lower bound of the external function.
-
lsint
LSExternalContext
::
getIntUpperBound
() const¶ Gets the upper bound of the external function. Only allowed if the external function is an integer function. By default, this property is set to
LONG_LONG_MAX
.Returns: Upper bound of the external function.
-
lsdouble
LSExternalContext
::
getDoubleLowerBound
() const¶ Gets the lower bound of the external function. Only allowed if the external function is a double function. By default, this property is set to
-INFINITY
.Returns: Lower bound of the external function.
-
lsdouble
LSExternalContext
::
getDoubleUpperBound
() const¶ Gets the upper bound of the external function. Only allowed if the external function is a double function. By default, this property is set to
INFINITY
.Returns: Upper bound of the external function.
-
bool
LSExternalContext
::
isNanable
() const¶ Returns true if the function can return a NaN (Not a Number) value. Only allowed if the external function is a double function. By default this property is set to true.
Returns: True if the function can return a NaN value.
-
void
LSExternalContext
::
setLowerBound
(lsint lowerBound)¶ Sets the lower bound of the external function. Only allowed if the external function is an integer function. Only allowed in state
S_Modeling
. This method has the same behaviour asLSExternalContext::setIntLowerBound()
Parameters: lowerBound – Lower bound of the function.
-
void
LSExternalContext
::
setLowerBound
(lsdouble lowerBound)¶ Sets the lower bound of the external function. Only allowed if the external function is a double function. Only allowed in state
S_Modeling
. This method has the same behaviour asLSExternalContext::setDoubleLowerBound()
Parameters: lowerBound – Lower bound of the function
-
void
LSExternalContext
::
setUpperBound
(lsint upperBound)¶ Sets the upper bound of the external function. Only allowed if the external function is an integer function. Only allowed in state
S_Modeling
. This method has the same behaviour asLSExternalContext::setIntUpperBound()
Parameters: upperBound – Upper bound of the function.
-
void
LSExternalContext
::
setUpperBound
(lsdouble upperBound)¶ Sets the upper bound of the external function. Only allowed if the external function is a double function. Only allowed in state
S_Modeling
. This method has the same behaviour asLSExternalContext::setDoubleLowerBound()
Parameters: upperBound – Upper bound of the function.
-
void
LSExternalContext
::
setIntLowerBound
(lsint lowerBound)¶ Sets the lower bound of the external function. Only allowed if the external function is an integer function.
Parameters: lowerBound – Lower bound of the function
-
void
LSExternalContext
::
setIntUpperBound
(lsint upperBound)¶ Sets the upper bound of the external function. Only allowed if the external function is an integer function. Only allowed in state
S_Modeling
.Parameters: upperBound – Upper bound of the function.
-
void
LSExternalContext
::
setDoubleLowerBound
(lsdouble lowerBound)¶ Sets the lower bound of the external function. Only allowed if the external function is a double function.
Parameters: lowerBound – Lower bound of the function.
-
void
LSExternalContext
::
setDoubleUpperBound
(lsdouble upperBound)¶ Sets the upper bound of the external function. Only allowed if the external function is a double function. Only allowed in state
S_Modeling
.Parameters: upperBound – Upper bound of the function.
-
void
LSExternalContext
::
setNanable
(bool nanable)¶ Sets whether or not the function can return a NaN (Not a Number) value. Only allowed if the external function is a double function. Only allowed in state
S_Modeling
.Parameters: nanable – True if the function can return a NaN value, false otherwise.