24 #ifndef __LOW_ORDER_MOMENTS_TYPES_H__
25 #define __LOW_ORDER_MOMENTS_TYPES_H__
27 #include "data_management/data/homogen_numeric_table.h"
42 namespace low_order_moments
66 enum EstimatesToCompute
99 lastResultId = variation
113 partialSumSquaresCentered,
114 lastPartialResultId = partialSumSquaresCentered
124 lastMasterInputId = partialResults
136 class InputIface :
public daal::algorithms::Input
139 InputIface(
size_t nElements) : daal::algorithms::Input(nElements) {}
140 InputIface(
const InputIface& other) : daal::algorithms::Input(other){}
141 virtual services::Status getNumberOfColumns(
size_t& nCols)
const = 0;
142 virtual ~InputIface() {}
149 class DAAL_EXPORT Input :
public InputIface
153 Input(
const Input& other);
162 services::Status getNumberOfColumns(
size_t& nCols)
const DAAL_C11_OVERRIDE;
169 data_management::NumericTablePtr
get(InputId id)
const;
176 void set(InputId
id,
const data_management::NumericTablePtr &ptr);
178 services::Status check(
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
187 class DAAL_EXPORT PartialResult :
public daal::algorithms::PartialResult
191 DECLARE_SERIALIZABLE_CAST(PartialResult);
194 virtual ~PartialResult()
203 template <
typename algorithmFPType>
204 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
213 template <
typename algorithmFPType>
214 DAAL_EXPORT services::Status initialize(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
221 services::Status getNumberOfColumns(
size_t& nCols)
const;
228 data_management::NumericTablePtr
get(PartialResultId id)
const;
235 void set(PartialResultId
id,
const data_management::NumericTablePtr &ptr);
242 services::Status check(
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
250 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
254 template<
typename Archive,
bool onDeserialize>
255 services::Status serialImpl(Archive *arch)
257 return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
260 services::Status checkImpl(
size_t nFeatures)
const;
263 typedef services::SharedPtr<PartialResult> PartialResultPtr;
269 struct DAAL_EXPORT Parameter :
public daal::algorithms::Parameter
272 Parameter(EstimatesToCompute _estimatesToCompute = estimatesAll);
274 EstimatesToCompute estimatesToCompute;
276 services::Status check() const DAAL_C11_OVERRIDE;
284 class DAAL_EXPORT Result : public daal::algorithms::Result
287 DECLARE_SERIALIZABLE_CAST(Result);
298 template <
typename algorithmFPType>
299 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
307 template <
typename algorithmFPType>
308 DAAL_EXPORT services::Status allocate(
const daal::algorithms::PartialResult *partialResult, daal::algorithms::Parameter *parameter,
const int method);
315 data_management::NumericTablePtr
get(ResultId id)
const;
322 void set(ResultId
id,
const data_management::NumericTablePtr &value);
330 services::Status check(
const daal::algorithms::PartialResult *partialResult,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
338 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
342 template<
typename Archive,
bool onDeserialize>
343 services::Status serialImpl(Archive *arch)
345 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
348 services::Status checkImpl(
size_t nFeatures)
const;
350 typedef services::SharedPtr<Result> ResultPtr;
358 template<ComputeStep step>
359 class DAAL_EXPORT DistributedInput :
public InputIface
363 DistributedInput(
const DistributedInput& other);
365 virtual ~DistributedInput() {}
372 services::Status getNumberOfColumns(
size_t& nCols)
const DAAL_C11_OVERRIDE;
379 void add(MasterInputId
id,
const PartialResultPtr &partialResult);
386 void set(MasterInputId
id,
const data_management::DataCollectionPtr &ptr);
393 data_management::DataCollectionPtr
get(MasterInputId id)
const;
400 services::Status check(
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
404 using interface1::InputIface;
405 using interface1::Input;
406 using interface1::PartialResult;
407 using interface1::PartialResultPtr;
408 using interface1::Parameter;
409 using interface1::Result;
410 using interface1::ResultPtr;
411 using interface1::DistributedInput;
daal::algorithms::low_order_moments::estimatesMeanVariance
Definition: low_order_moments_types.h:70
daal::algorithms::low_order_moments::sum
Definition: low_order_moments_types.h:91
daal::algorithms::low_order_moments::singlePassDense
Definition: low_order_moments_types.h:51
daal::algorithms::low_order_moments::singlePassCSR
Definition: low_order_moments_types.h:56
daal::algorithms::low_order_moments::partialSumSquaresCentered
Definition: low_order_moments_types.h:113
daal::algorithms::low_order_moments::fastCSR
Definition: low_order_moments_types.h:55
daal::algorithms::low_order_moments::mean
Definition: low_order_moments_types.h:94
daal::algorithms::low_order_moments::variation
Definition: low_order_moments_types.h:98
daal::algorithms::low_order_moments::partialSumSquares
Definition: low_order_moments_types.h:112
daal::algorithms::low_order_moments::sumSquares
Definition: low_order_moments_types.h:92
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:187
daal::algorithms::low_order_moments::partialMinimum
Definition: low_order_moments_types.h:109
daal::algorithms::low_order_moments::interface1::InputIface
Abstract class that specifies interface of the input objects for the low order moments algorithm...
Definition: low_order_moments_types.h:136
daal::algorithms::low_order_moments::data
Definition: low_order_moments_types.h:79
daal::algorithms::low_order_moments::estimatesAll
Definition: low_order_moments_types.h:68
daal::algorithms::low_order_moments::partialSum
Definition: low_order_moments_types.h:111
daal::algorithms::low_order_moments::Method
Method
Definition: low_order_moments_types.h:48
daal::algorithms::low_order_moments::variance
Definition: low_order_moments_types.h:96
daal::algorithms::low_order_moments::partialMaximum
Definition: low_order_moments_types.h:110
daal::algorithms::low_order_moments::standardDeviation
Definition: low_order_moments_types.h:97
daal::algorithms::low_order_moments::sumCSR
Definition: low_order_moments_types.h:58
daal::algorithms::low_order_moments::secondOrderRawMoment
Definition: low_order_moments_types.h:95
daal::algorithms::low_order_moments::interface1::Parameter::estimatesToCompute
EstimatesToCompute estimatesToCompute
Definition: low_order_moments_types.h:274
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:284
daal::algorithms::low_order_moments::interface1::DistributedInput
Input objects for the low order moments algorithm in the distributed processing mode on master node...
Definition: low_order_moments_types.h:359
daal::algorithms::low_order_moments::minimum
Definition: low_order_moments_types.h:89
daal::algorithms::low_order_moments::partialResults
Definition: low_order_moments_types.h:123
daal::algorithms::low_order_moments::InputId
InputId
Definition: low_order_moments_types.h:77
daal::algorithms::low_order_moments::sumDense
Definition: low_order_moments_types.h:53
daal::algorithms::low_order_moments::defaultDense
Definition: low_order_moments_types.h:50
daal::algorithms::low_order_moments::sumSquaresCentered
Definition: low_order_moments_types.h:93
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:121
daal::algorithms::low_order_moments::estimatesMinMax
Definition: low_order_moments_types.h:69
daal::algorithms::math::abs::value
Definition: abs_types.h:88
daal::algorithms::low_order_moments::nObservations
Definition: low_order_moments_types.h:108
daal::algorithms::low_order_moments::PartialResultId
PartialResultId
Definition: low_order_moments_types.h:106
daal::algorithms::low_order_moments::interface1::Parameter
Low order moments algorithm parameters.
Definition: low_order_moments_types.h:269
daal::algorithms::low_order_moments::EstimatesToCompute
EstimatesToCompute
Definition: low_order_moments_types.h:66
daal::algorithms::low_order_moments::maximum
Definition: low_order_moments_types.h:90
daal::algorithms::low_order_moments::interface1::Input
Input objects for the low order moments algorithm
Definition: low_order_moments_types.h:149
daal::algorithms::low_order_moments::ResultId
ResultId
Definition: low_order_moments_types.h:87