34 #ifndef SHARK_OBJECTIVEFUNCTIONS_ABSTRACTOBJECTIVEFUNCTION_H 35 #define SHARK_OBJECTIVEFUNCTIONS_ABSTRACTOBJECTIVEFUNCTION_H 84 template <
typename Po
intType,
typename ResultT>
91 typedef typename boost::mpl::if_<
92 std::is_arithmetic<ResultT>,
197 throw SHARKEXCEPTION(
"dimensionality of function is not scalable");
210 throw SHARKEXCEPTION(
"dimensionality of function is not scaleable");
230 virtual bool isFeasible(
const SearchPointType & input)
const {
254 SearchPointType startingPoint;
256 return startingPoint;
268 virtual ResultType
eval( SearchPointType
const& input )
const {
273 ResultType
operator()( SearchPointType
const& input )
const {
283 virtual ResultType
evalDerivative( SearchPointType
const& input, FirstOrderDerivative & derivative )
const {
293 virtual ResultType
evalDerivative( SearchPointType
const& input, SecondOrderDerivative & derivative )
const {
306 SHARK_RUNTIME_CHECK(handler,
"[AbstractObjectiveFunction::AnnounceConstraintHandler] Handler is not allowed to be NULL");
307 m_constraintHandler = handler;