22 #ifndef __OBJECTIVE_FUNCTION_TYPES_H__
23 #define __OBJECTIVE_FUNCTION_TYPES_H__
25 #include "algorithms/algorithm.h"
26 #include "data_management/data/numeric_table.h"
27 #include "data_management/data/homogen_numeric_table.h"
28 #include "services/daal_defines.h"
37 namespace optimization_solver
48 namespace objective_function
58 lastInputId = argument
65 enum ResultToComputeId
67 gradient = 0x00000001ULL,
68 value = 0x00000002ULL,
69 hessian = 0x00000004ULL
81 lastResultId = hessianIdx
96 struct DAAL_EXPORT Parameter :
public daal::algorithms::Parameter
102 Parameter(
const DAAL_UINT64 resultsToCompute = gradient);
108 Parameter(
const Parameter &other);
110 virtual ~Parameter() {}
112 DAAL_UINT64 resultsToCompute;
120 class DAAL_EXPORT Input :
public daal::algorithms::Input
127 Input(
const Input& other);
137 void set(InputId
id,
const data_management::NumericTablePtr &ptr);
144 data_management::NumericTablePtr
get(InputId id)
const;
153 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
160 class DAAL_EXPORT Result:
public daal::algorithms::Result
163 DECLARE_SERIALIZABLE_CAST(Result);
168 virtual ~Result() {};
178 template <
typename algorithmFPType>
179 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
186 void set(ResultId
id,
const data_management::NumericTablePtr &ptr);
193 data_management::NumericTablePtr
get(ResultId id)
const;
203 virtual services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
207 template<
typename Archive,
bool onDeserialize>
208 services::Status serialImpl(Archive *arch)
210 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
213 typedef services::SharedPtr<Result> ResultPtr;
216 using interface1::Parameter;
217 using interface1::Input;
218 using interface1::Result;
219 using interface1::ResultPtr;
daal::algorithms::optimization_solver::objective_function::argument
Definition: objective_function_types.h:57
daal::algorithms::optimization_solver::objective_function::value
Definition: objective_function_types.h:68
daal
Definition: algorithm_base_common.h:31
daal::algorithms::interface1::Result
Base class to represent final results of the computation. Algorithm-specific final results are repres...
Definition: algorithm_types.h:307
daal::algorithms::optimization_solver::objective_function::interface1::Parameter::resultsToCompute
DAAL_UINT64 resultsToCompute
Definition: objective_function_types.h:112
daal::algorithms::optimization_solver::objective_function::interface1::Result
Provides methods to access final results obtained with the compute() method of the Objective function...
Definition: objective_function_types.h:160
daal::algorithms::optimization_solver::objective_function::interface1::Result::~Result
virtual ~Result()
Definition: objective_function_types.h:168
daal::algorithms::optimization_solver::objective_function::gradientIdx
Definition: objective_function_types.h:78
daal::algorithms::optimization_solver::objective_function::ResultToComputeId
ResultToComputeId
Definition: objective_function_types.h:65
daal::algorithms::optimization_solver::objective_function::hessian
Definition: objective_function_types.h:69
daal::algorithms::interface1::Parameter
Base class to represent computation parameters. Algorithm-specific parameters are represented as deri...
Definition: algorithm_types.h:60
daal::algorithms::optimization_solver::objective_function::hessianIdx
Definition: objective_function_types.h:80
daal::algorithms::optimization_solver::objective_function::valueIdx
Definition: objective_function_types.h:79
daal::algorithms::optimization_solver::objective_function::ResultId
ResultId
Definition: objective_function_types.h:76
daal::algorithms::optimization_solver::objective_function::gradient
Definition: objective_function_types.h:67
daal::algorithms::optimization_solver::objective_function::InputId
InputId
Definition: objective_function_types.h:55
daal::algorithms::optimization_solver::objective_function::interface1::Parameter
Parameter for the Objective function
Definition: objective_function_types.h:96