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

outlier_detection_univariate_types.h
1 /* file: outlier_detection_univariate_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 // univariate outlier detection algorithm types
19 //--
20 */
21 
22 #ifndef __OUTLIERDETECTION_UNIVARIATE_TYPES_H__
23 #define __OUTLIERDETECTION_UNIVARIATE_TYPES_H__
24 
25 #include "algorithms/algorithm.h"
26 #include "data_management/data/homogen_numeric_table.h"
27 
28 namespace daal
29 {
30 namespace algorithms
31 {
41 namespace univariate_outlier_detection
42 {
47 enum Method
48 {
49  defaultDense = 0
50 };
51 
56 enum InputId
57 {
58  data ,
59  location ,
60  scatter ,
61  threshold ,
62  lastInputId = threshold
63 };
64 
69 enum ResultId
70 {
71  weights,
72  lastResultId = weights
73 };
74 
78 namespace interface1
79 {
84 struct InitIface
85 {
93  virtual void operator()(data_management::NumericTable *data,
94  data_management::NumericTable *location,
95  data_management::NumericTable *scatter,
96  data_management::NumericTable *threshold) = 0;
97  virtual ~InitIface() {}
98 };
99 
104 struct DAAL_EXPORT DefaultInit : public InitIface
105 {
113  virtual void operator()(data_management::NumericTable *data,
114  data_management::NumericTable *location,
115  data_management::NumericTable *scatter,
116  data_management::NumericTable *threshold) {}
117 };
118 
125 /* [Parameter source code] */
126 struct DAAL_EXPORT Parameter : public daal::algorithms::Parameter
127 {
128  Parameter() {}
129  services::SharedPtr<InitIface> initializationProcedure;
136  virtual services::Status check() const DAAL_C11_OVERRIDE {return services::Status();}
137 };
138 /* [Parameter source code] */
139 
144 class DAAL_EXPORT Input : public daal::algorithms::Input
145 {
146 public:
147  Input();
148  Input(const Input& other);
149 
150  virtual ~Input() {}
151 
157  data_management::NumericTablePtr get(InputId id) const;
158 
164  void set(InputId id, const data_management::NumericTablePtr &ptr);
165 
173  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
174 };
175 
180 class DAAL_EXPORT Result : public daal::algorithms::Result
181 {
182 public:
183  DECLARE_SERIALIZABLE_CAST(Result);
184  Result();
185 
186  virtual ~Result() {};
187 
196  template <typename algorithmFPType>
197  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
198 
204  data_management::NumericTablePtr get(ResultId id) const;
205 
211  void set(ResultId id, const data_management::NumericTablePtr &ptr);
212 
221  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
222 
223 protected:
225  template<typename Archive, bool onDeserialize>
226  services::Status serialImpl(Archive *arch)
227  {
228  return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
229  }
230 };
231 typedef services::SharedPtr<Result> ResultPtr;
232 
234 } // namespace interface1
235 using interface1::InitIface;
236 using interface1::DefaultInit;
237 using interface1::Parameter;
238 using interface1::Input;
239 using interface1::Result;
240 using interface1::ResultPtr;
241 
242 } // namespace univariate_outlier_detection
243 } // namespace algorithm
244 } // namespace daal
245 #endif
daal::algorithms::univariate_outlier_detection::threshold
Definition: outlier_detection_univariate_types.h:61
daal::algorithms::univariate_outlier_detection::interface1::Parameter::initializationProcedure
services::SharedPtr< InitIface > initializationProcedure
Definition: outlier_detection_univariate_types.h:129
daal
Definition: algorithm_base_common.h:31
daal::algorithms::univariate_outlier_detection::interface1::Parameter
Parameters of the univariate outlier detection algorithm.
Definition: outlier_detection_univariate_types.h:126
daal::algorithms::univariate_outlier_detection::data
Definition: outlier_detection_univariate_types.h:58
daal::algorithms::univariate_outlier_detection::interface1::Parameter::check
virtual services::Status check() const DAAL_C11_OVERRIDE
Definition: outlier_detection_univariate_types.h:136
daal::algorithms::univariate_outlier_detection::interface1::InitIface
Abstract class that provides a functor for the initial procedure.
Definition: outlier_detection_univariate_types.h:84
daal::algorithms::univariate_outlier_detection::defaultDense
Definition: outlier_detection_univariate_types.h:49
daal::algorithms::univariate_outlier_detection::location
Definition: outlier_detection_univariate_types.h:59
daal::algorithms::univariate_outlier_detection::interface1::DefaultInit
Class that specifies the default method for initialization.
Definition: outlier_detection_univariate_types.h:104
daal::algorithms::univariate_outlier_detection::interface1::InitIface::operator()
virtual void operator()(data_management::NumericTable *data, data_management::NumericTable *location, data_management::NumericTable *scatter, data_management::NumericTable *threshold)=0
daal::algorithms::univariate_outlier_detection::ResultId
ResultId
Definition: outlier_detection_univariate_types.h:69
daal::algorithms::univariate_outlier_detection::interface1::DefaultInit::operator()
virtual void operator()(data_management::NumericTable *data, data_management::NumericTable *location, data_management::NumericTable *scatter, data_management::NumericTable *threshold)
Definition: outlier_detection_univariate_types.h:113
daal::algorithms::univariate_outlier_detection::InputId
InputId
Definition: outlier_detection_univariate_types.h:56
daal::algorithms::univariate_outlier_detection::weights
Definition: outlier_detection_univariate_types.h:71
daal::algorithms::univariate_outlier_detection::scatter
Definition: outlier_detection_univariate_types.h:60
daal::algorithms::univariate_outlier_detection::interface1::Input
Input objects for the univariate outlier detection algorithm
Definition: outlier_detection_univariate_types.h:144
daal::algorithms::univariate_outlier_detection::interface1::Result
Results obtained with the compute() method of the univariate outlier detection algorithm in the batch...
Definition: outlier_detection_univariate_types.h:180
daal::algorithms::univariate_outlier_detection::Method
Method
Definition: outlier_detection_univariate_types.h:47

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