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

quantiles_types.h
1 /* file: quantiles_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 // Definition of common types of quantiles.
19 //--
20 */
21 
22 #ifndef __QUANTILES_TYPES_H__
23 #define __QUANTILES_TYPES_H__
24 
25 #include "data_management/data/homogen_numeric_table.h"
26 
27 namespace daal
28 {
29 namespace algorithms
30 {
40 namespace quantiles
41 {
46 enum Method
47 {
48  defaultDense = 0
49 };
50 
55 enum InputId
56 {
57  data,
58  lastInputId = data
59 };
60 
65 enum ResultId
66 {
67  quantiles,
68  lastResultId = quantiles
69 };
70 
74 namespace interface1
75 {
80 struct DAAL_EXPORT Parameter : public daal::algorithms::Parameter
81 {
82  Parameter(const data_management::NumericTablePtr quantileOrders = data_management::NumericTablePtr());
83  data_management::NumericTablePtr quantileOrders;
84 };
85 
90 class DAAL_EXPORT Input : public daal::algorithms::Input
91 {
92 public:
93  Input();
94  Input(const Input& other);
95 
96  virtual ~Input() {}
97 
103  data_management::NumericTablePtr get(InputId id) const;
104 
110  void set(InputId id, const data_management::NumericTablePtr &ptr);
111 
117  virtual services::Status check(const daal::algorithms::Parameter *parameter, int method) const DAAL_C11_OVERRIDE;
118 };
119 
125 class DAAL_EXPORT Result : public daal::algorithms::Result
126 {
127 public:
128  DECLARE_SERIALIZABLE_CAST(Result);
129  Result();
130 
131  virtual ~Result() {};
132 
139  template <typename algorithmFPType>
140  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
141 
147  data_management::NumericTablePtr get(ResultId id) const;
148 
154  void set(ResultId id, const data_management::NumericTablePtr &value);
155 
162  virtual services::Status check(const daal::algorithms::Input *in, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
163 
164 protected:
166  template<typename Archive, bool onDeserialize>
167  services::Status serialImpl(Archive *arch)
168  {
169  return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
170  }
171 };
172 typedef services::SharedPtr<Result> ResultPtr;
173 
175 } // namespace interface1
176 using interface1::Parameter;
177 using interface1::Input;
178 using interface1::Result;
179 using interface1::ResultPtr;
180 
181 } // namespace daal::algorithms::quantiles
182 } // namespace daal::algorithms
183 } // namespace daal
184 #endif
daal::algorithms::quantiles::data
Definition: quantiles_types.h:57
daal
Definition: algorithm_base_common.h:31
daal::algorithms::quantiles::InputId
InputId
Definition: quantiles_types.h:55
daal::algorithms::quantiles::interface1::Input
Input objects for the quantiles algorithm
Definition: quantiles_types.h:90
daal::algorithms::quantiles::interface1::Result
Provides methods to access final results obtained with the compute() method of the quantiles algorith...
Definition: quantiles_types.h:125
daal::algorithms::quantiles::interface1::Parameter::quantileOrders
data_management::NumericTablePtr quantileOrders
Definition: quantiles_types.h:83
daal::algorithms::quantiles::defaultDense
Definition: quantiles_types.h:48
daal::algorithms::math::abs::value
Definition: abs_types.h:86
daal::algorithms::quantiles::ResultId
ResultId
Definition: quantiles_types.h:65
daal::algorithms::quantiles::Method
Method
Definition: quantiles_types.h:46
daal::algorithms::quantiles::interface1::Parameter
Parameters of the quantiles algorithm.
Definition: quantiles_types.h:80
daal::algorithms::quantiles::quantiles
Definition: quantiles_types.h:67

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