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

cholesky_types.h
1 /* file: cholesky_types.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 Cholesky algorithm interface.
19 //--
20 */
21 
22 #ifndef __CHOLESKY_TYPES_H__
23 #define __CHOLESKY_TYPES_H__
24 
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"
29 
30 namespace daal
31 {
32 namespace algorithms
33 {
43 namespace cholesky
44 {
49 enum Method
50 {
51  defaultDense = 0
52 };
53 
58 enum InputId
59 {
60  data,
61  lastInputId = data
62 };
63 
68 enum ResultId
69 {
70  choleskyFactor,
71  lastResultId = choleskyFactor
72 };
73 
77 namespace interface1
78 {
83 class DAAL_EXPORT Input : public daal::algorithms::Input
84 {
85 public:
86  Input();
87  Input(const Input& other) : daal::algorithms::Input(other){}
88 
89  virtual ~Input() {}
90 
96  data_management::NumericTablePtr get(InputId id) const;
97 
103  void set(InputId id, const data_management::NumericTablePtr &ptr);
104 
112  virtual services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
113 };
114 
119 class DAAL_EXPORT Result : public daal::algorithms::Result
120 {
121 public:
122  DECLARE_SERIALIZABLE_CAST(Result);
123  Result();
124 
125  virtual ~Result() {};
126 
135  template <typename algorithmFPType>
136  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, const int method);
137 
143  data_management::NumericTablePtr get(ResultId id) const;
144 
150  void set(ResultId id, const data_management::NumericTablePtr &ptr);
151 
160  virtual services::Status check(const algorithms::Input *input, const algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
161 
162 protected:
164  template<typename Archive, bool onDeserialize>
165  services::Status serialImpl(Archive *arch)
166  {
167  return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
168  }
169 };
170 typedef services::SharedPtr<Result> ResultPtr;
172 } // namespace interface1
173 using interface1::Input;
174 using interface1::Result;
175 using interface1::ResultPtr;
176 
177 } // namespace cholesky
178 } // namespace algorithm
179 } // namespace daal
180 #endif
daal
Definition: algorithm_base_common.h:31
daal::algorithms::cholesky::data
Definition: cholesky_types.h:60
daal::algorithms::cholesky::Method
Method
Definition: cholesky_types.h:49
daal::algorithms::cholesky::defaultDense
Definition: cholesky_types.h:51
daal::algorithms::cholesky::choleskyFactor
Definition: cholesky_types.h:70
daal_defines.h
daal::algorithms::cholesky::interface1::Result
Results obtained with the compute() method of the Cholesky algorithm in the batch processing mode...
Definition: cholesky_types.h:119
daal::algorithms::cholesky::interface1::Input
Input parameters for the Cholesky algorithm
Definition: cholesky_types.h:83
daal::algorithms::cholesky::InputId
InputId
Definition: cholesky_types.h:58
daal::algorithms::cholesky::ResultId
ResultId
Definition: cholesky_types.h:68

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