C++ API Reference for Intel® Data Analytics Acceleration Library 2019 Update 5

sum_of_functions_types.h
1 /* file: sum_of_functions_types.h */
2 /*******************************************************************************
3 * Copyright 2014-2019 Intel Corporation.
4 *
5 * This software and the related documents are Intel copyrighted materials, and
6 * your use of them is governed by the express license under which they were
7 * provided to you (License). Unless the License provides otherwise, you may not
8 * use, modify, copy, publish, distribute, disclose or transmit this software or
9 * the related documents without Intel's prior written permission.
10 *
11 * This software and the related documents are provided as is, with no express
12 * or implied warranties, other than those that are expressly stated in the
13 * License.
14 *******************************************************************************/
15 
16 /*
17 //++
18 // Implementation of the Sum of functions interface.
19 //--
20 */
21 
22 #ifndef __SUM_OF_FUNCTIONS_TYPES_H__
23 #define __SUM_OF_FUNCTIONS_TYPES_H__
24 
25 #include "algorithms/algorithm.h"
26 #include "data_management/data/numeric_table.h"
27 #include "services/daal_defines.h"
28 #include "objective_function_types.h"
29 
30 namespace daal
31 {
32 namespace algorithms
33 {
34 namespace optimization_solver
35 {
45 namespace sum_of_functions
46 {
47 
52 enum InputId
53 {
54  argument = (int)objective_function::argument,
55 };
56 
60 namespace interface1
61 {
68 /* [interface1::Parameter source code] */
69 struct DAAL_EXPORT Parameter : public objective_function::Parameter
70 {
80  Parameter(size_t numberOfTerms,
81  data_management::NumericTablePtr batchIndices = data_management::NumericTablePtr(),
82  const DAAL_UINT64 resultsToCompute = objective_function::gradient);
83 
88  Parameter(const Parameter &other);
89 
95  virtual services::Status check() const;
96 
97  virtual ~Parameter() {}
98 
99  size_t numberOfTerms;
100  data_management::NumericTablePtr batchIndices;
104 };
105 /* [interface1::Parameter source code] */
106 
111 class DAAL_EXPORT Input : public objective_function::Input
112 {
113 public:
115  Input(size_t n = 1);
116 
118  Input(const Input& other);
119 
121  virtual ~Input() {}
122 
128  void set(InputId id, const data_management::NumericTablePtr &ptr);
129 
135  data_management::NumericTablePtr get(InputId id) const;
136 
144  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
145 };
147 } // namespace interface1
148 
149 namespace interface2
150 {
157 /* [Parameter source code] */
158 struct DAAL_EXPORT Parameter : public objective_function::Parameter
159 {
169  Parameter(size_t numberOfTerms,
170  data_management::NumericTablePtr batchIndices = data_management::NumericTablePtr(),
171  const DAAL_UINT64 resultsToCompute = objective_function::gradient);
172 
177  Parameter(const Parameter &other);
178 
184  virtual services::Status check() const;
185 
186  virtual ~Parameter() {}
187 
188  size_t numberOfTerms;
189  data_management::NumericTablePtr batchIndices;
193  size_t featureId;
194 };
195 /* [Parameter source code] */
196 
201 class DAAL_EXPORT Input : public objective_function::Input
202 {
203 public:
205  Input(size_t n = 1);
206 
208  Input(const Input& other);
209 
211  virtual ~Input() {}
212 
218  void set(InputId id, const data_management::NumericTablePtr &ptr);
219 
225  data_management::NumericTablePtr get(InputId id) const;
226 
234  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
235 };
236 
237 }
238 
239 using interface2::Parameter;
240 using interface2::Input;
241 
242 } // namespace sum_of_functions
243 } // namespace optimization_solver
244 } // namespace algorithm
245 } // namespace daal
246 #endif
daal::algorithms::optimization_solver::objective_function::argument
Definition: objective_function_types.h:57
daal::algorithms::optimization_solver::sum_of_functions::interface1::Input
Input objects for the Sum of functions
Definition: sum_of_functions_types.h:111
daal
Definition: algorithm_base_common.h:31
daal::algorithms::optimization_solver::sum_of_functions::interface1::Parameter::batchIndices
data_management::NumericTablePtr batchIndices
Definition: sum_of_functions_types.h:100
daal::algorithms::optimization_solver::sum_of_functions::interface1::Input::~Input
virtual ~Input()
Definition: sum_of_functions_types.h:121
daal::algorithms::optimization_solver::sum_of_functions::interface2::Parameter::numberOfTerms
size_t numberOfTerms
Definition: sum_of_functions_types.h:188
daal_defines.h
daal::algorithms::optimization_solver::sum_of_functions::interface2::Input
Input objects for the Sum of functions
Definition: sum_of_functions_types.h:201
daal::algorithms::optimization_solver::sum_of_functions::interface1::Parameter
Parameter for the Sum of functions
Definition: sum_of_functions_types.h:69
daal::algorithms::optimization_solver::sum_of_functions::argument
Definition: sum_of_functions_types.h:54
daal::algorithms::optimization_solver::sum_of_functions::interface2::Input::~Input
virtual ~Input()
Definition: sum_of_functions_types.h:211
daal::algorithms::optimization_solver::sum_of_functions::interface2::Parameter::featureId
size_t featureId
Definition: sum_of_functions_types.h:193
daal::algorithms::optimization_solver::objective_function::gradient
Definition: objective_function_types.h:67
daal::algorithms::optimization_solver::sum_of_functions::interface1::Parameter::numberOfTerms
size_t numberOfTerms
Definition: sum_of_functions_types.h:99
daal::algorithms::optimization_solver::sum_of_functions::interface2::Parameter::batchIndices
data_management::NumericTablePtr batchIndices
Definition: sum_of_functions_types.h:189
daal::algorithms::optimization_solver::sum_of_functions::InputId
InputId
Definition: sum_of_functions_types.h:52
daal::algorithms::optimization_solver::sum_of_functions::interface2::Parameter
Parameter for the Sum of functions
Definition: sum_of_functions_types.h:158

For more complete information about compiler optimizations, see our Optimization Notice.