48 #ifndef __LOW_ORDER_MOMENTS_TYPES_H__ 49 #define __LOW_ORDER_MOMENTS_TYPES_H__ 51 #include "data_management/data/homogen_numeric_table.h" 66 namespace low_order_moments
90 enum EstimatesToCompute
119 secondOrderRawMoment,
123 lastResultId = variation
137 partialSumSquaresCentered,
138 lastPartialResultId = partialSumSquaresCentered
148 lastMasterInputId = partialResults
160 class InputIface :
public daal::algorithms::Input
163 InputIface(
size_t nElements) : daal::algorithms::Input(nElements) {}
164 InputIface(
const InputIface& other) : daal::algorithms::Input(other){}
165 virtual services::Status getNumberOfColumns(
size_t& nCols)
const = 0;
166 virtual ~InputIface() {}
173 class DAAL_EXPORT Input :
public InputIface
177 Input(
const Input& other);
186 services::Status getNumberOfColumns(
size_t& nCols)
const DAAL_C11_OVERRIDE;
193 data_management::NumericTablePtr
get(InputId id)
const;
200 void set(InputId id,
const data_management::NumericTablePtr &ptr);
202 services::Status check(
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
211 class DAAL_EXPORT PartialResult :
public daal::algorithms::PartialResult
215 DECLARE_SERIALIZABLE_CAST(PartialResult);
218 virtual ~PartialResult()
227 template <
typename algorithmFPType>
228 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
237 template <
typename algorithmFPType>
238 DAAL_EXPORT services::Status initialize(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
245 services::Status getNumberOfColumns(
size_t& nCols)
const;
252 data_management::NumericTablePtr
get(PartialResultId id)
const;
259 void set(PartialResultId id,
const data_management::NumericTablePtr &ptr);
266 services::Status check(
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
274 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
278 template<
typename Archive,
bool onDeserialize>
279 services::Status serialImpl(Archive *arch)
281 return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
284 services::Status checkImpl(
size_t nFeatures)
const;
287 typedef services::SharedPtr<PartialResult> PartialResultPtr;
293 struct DAAL_EXPORT Parameter :
public daal::algorithms::Parameter
296 Parameter(EstimatesToCompute _estimatesToCompute = estimatesAll);
298 EstimatesToCompute estimatesToCompute;
300 services::Status check() const DAAL_C11_OVERRIDE;
308 class DAAL_EXPORT Result : public daal::algorithms::Result
311 DECLARE_SERIALIZABLE_CAST(Result);
314 virtual ~Result() {};
322 template <
typename algorithmFPType>
323 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
331 template <
typename algorithmFPType>
332 DAAL_EXPORT services::Status allocate(
const daal::algorithms::PartialResult *partialResult, daal::algorithms::Parameter *parameter,
const int method);
339 data_management::NumericTablePtr
get(ResultId id)
const;
346 void set(ResultId id,
const data_management::NumericTablePtr &value);
354 services::Status check(
const daal::algorithms::PartialResult *partialResult,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
362 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
366 template<
typename Archive,
bool onDeserialize>
367 services::Status serialImpl(Archive *arch)
369 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
372 services::Status checkImpl(
size_t nFeatures)
const;
374 typedef services::SharedPtr<Result> ResultPtr;
382 template<ComputeStep step>
383 class DAAL_EXPORT DistributedInput :
public InputIface
387 DistributedInput(
const DistributedInput& other);
389 virtual ~DistributedInput() {}
396 services::Status getNumberOfColumns(
size_t& nCols)
const DAAL_C11_OVERRIDE;
403 void add(MasterInputId
id,
const PartialResultPtr &partialResult);
410 void set(MasterInputId id,
const data_management::DataCollectionPtr &ptr);
417 data_management::DataCollectionPtr
get(MasterInputId id)
const;
424 services::Status check(
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
428 using interface1::InputIface;
429 using interface1::Input;
430 using interface1::PartialResult;
431 using interface1::PartialResultPtr;
432 using interface1::Parameter;
433 using interface1::Result;
434 using interface1::ResultPtr;
435 using interface1::DistributedInput;
daal::algorithms::low_order_moments::partialMaximum
Definition: low_order_moments_types.h:134
daal::services::interface1::Status
Class that holds the results of API calls. In case of API routine failure it contains the list of err...
Definition: error_handling.h:491
daal
Definition: algorithm_base_common.h:57
daal::algorithms::low_order_moments::partialResults
Definition: low_order_moments_types.h:147
daal::algorithms::low_order_moments::partialSumSquaresCentered
Definition: low_order_moments_types.h:137
daal::algorithms::low_order_moments::defaultDense
Definition: low_order_moments_types.h:74
daal::algorithms::low_order_moments::sumCSR
Definition: low_order_moments_types.h:82
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:308
daal::algorithms::low_order_moments::sum
Definition: low_order_moments_types.h:115
daal::algorithms::low_order_moments::variance
Definition: low_order_moments_types.h:120
daal::algorithms::low_order_moments::maximum
Definition: low_order_moments_types.h:114
daal::algorithms::low_order_moments::data
Definition: low_order_moments_types.h:103
daal::algorithms::interface1::PartialResult
Base class to represent partial results of the computation. Algorithm-specific partial results are re...
Definition: algorithm_types.h:253
daal::algorithms::low_order_moments::minimum
Definition: low_order_moments_types.h:113
daal::algorithms::low_order_moments::estimatesMeanVariance
Definition: low_order_moments_types.h:94
daal::algorithms::low_order_moments::InputId
InputId
Definition: low_order_moments_types.h:101
daal::algorithms::low_order_moments::sumSquares
Definition: low_order_moments_types.h:116
daal::algorithms::interface1::Parameter
Base class to represent computation parameters. Algorithm-specific parameters are represented as deri...
Definition: algorithm_types.h:86
daal::algorithms::low_order_moments::partialSum
Definition: low_order_moments_types.h:135
daal::services::interface1::SharedPtr
Shared pointer that retains shared ownership of an object through a pointer. Several SharedPtr object...
Definition: daal_shared_ptr.h:187
daal::algorithms::low_order_moments::ResultId
ResultId
Definition: low_order_moments_types.h:111
daal::algorithms::low_order_moments::fastCSR
Definition: low_order_moments_types.h:79
daal::algorithms::low_order_moments::mean
Definition: low_order_moments_types.h:118
daal::algorithms::low_order_moments::interface1::Parameter
Low order moments algorithm parameters.
Definition: low_order_moments_types.h:293
daal::algorithms::low_order_moments::estimatesAll
Definition: low_order_moments_types.h:92
daal::algorithms::low_order_moments::EstimatesToCompute
EstimatesToCompute
Definition: low_order_moments_types.h:90
daal::algorithms::low_order_moments::nObservations
Definition: low_order_moments_types.h:132
daal::algorithms::low_order_moments::secondOrderRawMoment
Definition: low_order_moments_types.h:119
daal::algorithms::low_order_moments::singlePassCSR
Definition: low_order_moments_types.h:80
daal::algorithms::low_order_moments::interface1::Parameter::estimatesToCompute
EstimatesToCompute estimatesToCompute
Definition: low_order_moments_types.h:298
daal::algorithms::low_order_moments::estimatesMinMax
Definition: low_order_moments_types.h:93
daal::algorithms::math::abs::value
Definition: abs_types.h:112
daal::algorithms::low_order_moments::partialSumSquares
Definition: low_order_moments_types.h:136
daal::algorithms::low_order_moments::standardDeviation
Definition: low_order_moments_types.h:121
daal::algorithms::low_order_moments::variation
Definition: low_order_moments_types.h:122
daal::algorithms::low_order_moments::singlePassDense
Definition: low_order_moments_types.h:75
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:145
daal::algorithms::low_order_moments::sumDense
Definition: low_order_moments_types.h:77
daal::algorithms::low_order_moments::Method
Method
Definition: low_order_moments_types.h:72
daal::algorithms::low_order_moments::sumSquaresCentered
Definition: low_order_moments_types.h:117
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:211
daal::algorithms::low_order_moments::PartialResultId
PartialResultId
Definition: low_order_moments_types.h:130
daal::algorithms::low_order_moments::partialMinimum
Definition: low_order_moments_types.h:133