C++ API Reference for Intel® Data Analytics Acceleration Library 2018 Update 3

iterative_solver_batch.h
1 /* file: iterative_solver_batch.h */
2 /*******************************************************************************
3 * Copyright 2014-2018 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 iterative solver interface interface.
19 //--
20 */
21 
22 #ifndef __ITERATIVE_SOLVER_BATCH_H__
23 #define __ITERATIVE_SOLVER_BATCH_H__
24 
25 #include "algorithms/algorithm.h"
26 #include "data_management/data/numeric_table.h"
27 #include "services/daal_defines.h"
28 #include "algorithms/optimization_solver/optimization_solver_batch.h"
29 #include "algorithms/optimization_solver/iterative_solver/iterative_solver_types.h"
30 
31 namespace daal
32 {
33 namespace algorithms
34 {
35 namespace optimization_solver
36 {
37 namespace iterative_solver
38 {
42 namespace interface1
43 {
52 class DAAL_EXPORT Batch : public optimization_solver::BatchIface
53 {
54 public:
55  typedef algorithms::optimization_solver::iterative_solver::Input InputType;
56  typedef algorithms::optimization_solver::iterative_solver::Parameter ParameterType;
57  typedef algorithms::optimization_solver::iterative_solver::Result ResultType;
58 
59  Batch()
60  {
61  }
62 
69  Batch(const Batch &other)
70  {
71  }
72 
73  virtual ~Batch() {}
74 
79  virtual InputType * getInput() = 0;
80 
85  virtual ParameterType * getParameter() = 0;
86 
91  ResultPtr getResult()
92  {
93  return _result;
94  }
95 
101  virtual services::Status createResult() = 0;
102 
108  services::SharedPtr<Batch> clone() const
109  {
110  return services::SharedPtr<Batch>(cloneImpl());
111  }
112 
113 protected:
114  virtual Batch *cloneImpl() const DAAL_C11_OVERRIDE = 0;
115 
116  ResultPtr _result;
117 };
119 } // namespace interface1
120 typedef interface1::Batch Batch;
121 
122 } // namespace optimization_solver
123 } // namespace iterative_solver
124 } // namespace algorithm
125 } // namespace daal
126 #endif
daal
Definition: algorithm_base_common.h:31
daal::algorithms::optimization_solver::iterative_solver::interface1::Batch::getResult
ResultPtr getResult()
Definition: iterative_solver_batch.h:91
daal_defines.h
daal::algorithms::optimization_solver::iterative_solver::interface1::Batch
Interface for computing the iterative solver in the batch processing mode.
Definition: iterative_solver_batch.h:52
daal::algorithms::optimization_solver::iterative_solver::interface1::Batch::Batch
Batch(const Batch &other)
Definition: iterative_solver_batch.h:69
daal::algorithms::optimization_solver::iterative_solver::interface1::Batch::clone
services::SharedPtr< Batch > clone() const
Definition: iterative_solver_batch.h:108

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