22 #ifndef __LOW_ORDER_MOMENTS_TYPES_H__
23 #define __LOW_ORDER_MOMENTS_TYPES_H__
25 #include "data_management/data/homogen_numeric_table.h"
40 namespace low_order_moments
64 enum EstimatesToCompute
97 lastResultId = variation
111 partialSumSquaresCentered,
112 lastPartialResultId = partialSumSquaresCentered
122 lastMasterInputId = partialResults
134 class InputIface :
public daal::algorithms::Input
137 InputIface(
size_t nElements) : daal::algorithms::Input(nElements) {}
138 InputIface(
const InputIface& other) : daal::algorithms::Input(other){}
139 virtual services::Status getNumberOfColumns(
size_t& nCols)
const = 0;
140 virtual ~InputIface() {}
147 class DAAL_EXPORT Input :
public InputIface
151 Input(
const Input& other);
160 services::Status getNumberOfColumns(
size_t& nCols)
const DAAL_C11_OVERRIDE;
167 data_management::NumericTablePtr
get(InputId id)
const;
174 void set(InputId
id,
const data_management::NumericTablePtr &ptr);
176 services::Status check(
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
185 class DAAL_EXPORT PartialResult :
public daal::algorithms::PartialResult
189 DECLARE_SERIALIZABLE_CAST(PartialResult);
192 virtual ~PartialResult()
201 template <
typename algorithmFPType>
202 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
211 template <
typename algorithmFPType>
212 DAAL_EXPORT services::Status initialize(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
219 services::Status getNumberOfColumns(
size_t& nCols)
const;
226 data_management::NumericTablePtr
get(PartialResultId id)
const;
233 void set(PartialResultId
id,
const data_management::NumericTablePtr &ptr);
240 services::Status check(
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
248 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
252 template<
typename Archive,
bool onDeserialize>
253 services::Status serialImpl(Archive *arch)
255 return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
258 services::Status checkImpl(
size_t nFeatures)
const;
261 typedef services::SharedPtr<PartialResult> PartialResultPtr;
267 struct DAAL_EXPORT Parameter :
public daal::algorithms::Parameter
270 Parameter(EstimatesToCompute _estimatesToCompute = estimatesAll);
272 EstimatesToCompute estimatesToCompute;
274 services::Status check() const DAAL_C11_OVERRIDE;
282 class DAAL_EXPORT Result : public daal::algorithms::Result
285 DECLARE_SERIALIZABLE_CAST(Result);
288 virtual ~Result() {};
296 template <
typename algorithmFPType>
297 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
305 template <
typename algorithmFPType>
306 DAAL_EXPORT services::Status allocate(
const daal::algorithms::PartialResult *partialResult, daal::algorithms::Parameter *parameter,
const int method);
313 data_management::NumericTablePtr
get(ResultId id)
const;
320 void set(ResultId
id,
const data_management::NumericTablePtr &value);
328 services::Status check(
const daal::algorithms::PartialResult *partialResult,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
336 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
340 template<
typename Archive,
bool onDeserialize>
341 services::Status serialImpl(Archive *arch)
343 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
346 services::Status checkImpl(
size_t nFeatures)
const;
348 typedef services::SharedPtr<Result> ResultPtr;
356 template<ComputeStep step>
357 class DAAL_EXPORT DistributedInput :
public InputIface
361 DistributedInput(
const DistributedInput& other);
363 virtual ~DistributedInput() {}
370 services::Status getNumberOfColumns(
size_t& nCols)
const DAAL_C11_OVERRIDE;
377 void add(MasterInputId
id,
const PartialResultPtr &partialResult);
384 void set(MasterInputId
id,
const data_management::DataCollectionPtr &ptr);
391 data_management::DataCollectionPtr
get(MasterInputId id)
const;
398 services::Status check(
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
402 using interface1::InputIface;
403 using interface1::Input;
404 using interface1::PartialResult;
405 using interface1::PartialResultPtr;
406 using interface1::Parameter;
407 using interface1::Result;
408 using interface1::ResultPtr;
409 using interface1::DistributedInput;
daal::algorithms::low_order_moments::partialMaximum
Definition: low_order_moments_types.h:108
daal
Definition: algorithm_base_common.h:31
daal::algorithms::low_order_moments::partialResults
Definition: low_order_moments_types.h:121
daal::algorithms::low_order_moments::partialSumSquaresCentered
Definition: low_order_moments_types.h:111
daal::algorithms::low_order_moments::defaultDense
Definition: low_order_moments_types.h:48
daal::algorithms::low_order_moments::sumCSR
Definition: low_order_moments_types.h:56
daal::algorithms::low_order_moments::interface1::Result
Provides methods to access final results obtained with the compute() method of the low order moments ...
Definition: low_order_moments_types.h:282
daal::algorithms::low_order_moments::sum
Definition: low_order_moments_types.h:89
daal::algorithms::low_order_moments::variance
Definition: low_order_moments_types.h:94
daal::algorithms::low_order_moments::maximum
Definition: low_order_moments_types.h:88
daal::algorithms::low_order_moments::data
Definition: low_order_moments_types.h:77
daal::algorithms::low_order_moments::minimum
Definition: low_order_moments_types.h:87
daal::algorithms::low_order_moments::estimatesMeanVariance
Definition: low_order_moments_types.h:68
daal::algorithms::low_order_moments::InputId
InputId
Definition: low_order_moments_types.h:75
daal::algorithms::low_order_moments::sumSquares
Definition: low_order_moments_types.h:90
daal::algorithms::low_order_moments::partialSum
Definition: low_order_moments_types.h:109
daal::algorithms::low_order_moments::ResultId
ResultId
Definition: low_order_moments_types.h:85
daal::algorithms::low_order_moments::fastCSR
Definition: low_order_moments_types.h:53
daal::algorithms::low_order_moments::mean
Definition: low_order_moments_types.h:92
daal::algorithms::low_order_moments::interface1::Parameter
Low order moments algorithm parameters.
Definition: low_order_moments_types.h:267
daal::algorithms::low_order_moments::estimatesAll
Definition: low_order_moments_types.h:66
daal::algorithms::low_order_moments::EstimatesToCompute
EstimatesToCompute
Definition: low_order_moments_types.h:64
daal::algorithms::low_order_moments::nObservations
Definition: low_order_moments_types.h:106
daal::algorithms::low_order_moments::secondOrderRawMoment
Definition: low_order_moments_types.h:93
daal::algorithms::low_order_moments::singlePassCSR
Definition: low_order_moments_types.h:54
daal::algorithms::low_order_moments::interface1::Parameter::estimatesToCompute
EstimatesToCompute estimatesToCompute
Definition: low_order_moments_types.h:272
daal::algorithms::low_order_moments::estimatesMinMax
Definition: low_order_moments_types.h:67
daal::algorithms::math::abs::value
Definition: abs_types.h:86
daal::algorithms::low_order_moments::partialSumSquares
Definition: low_order_moments_types.h:110
daal::algorithms::low_order_moments::standardDeviation
Definition: low_order_moments_types.h:95
daal::algorithms::low_order_moments::variation
Definition: low_order_moments_types.h:96
daal::algorithms::low_order_moments::singlePassDense
Definition: low_order_moments_types.h:49
daal::algorithms::low_order_moments::MasterInputId
MasterInputId
Available identifiers of input objects for the low order moments algorithm on the master node...
Definition: low_order_moments_types.h:119
daal::algorithms::low_order_moments::sumDense
Definition: low_order_moments_types.h:51
daal::algorithms::low_order_moments::Method
Method
Definition: low_order_moments_types.h:46
daal::algorithms::low_order_moments::sumSquaresCentered
Definition: low_order_moments_types.h:91
daal::algorithms::low_order_moments::interface1::PartialResult
Provides methods to access partial results obtained with the compute() method of the low order moment...
Definition: low_order_moments_types.h:185
daal::algorithms::low_order_moments::PartialResultId
PartialResultId
Definition: low_order_moments_types.h:104
daal::algorithms::low_order_moments::partialMinimum
Definition: low_order_moments_types.h:107