ReducerArgmin Class Reference

Reducer algorithm that returns the position of the minimum value. The identity is meaningless and should be covered using mask = true. More...

#include <Reducer.h>

Inheritance diagram for ReducerArgmin:
Reducer

Public Member Functions

const std::string name () const override
 Name of the reducer algorithm: "argmin". More...
 
util::dtype preferred_dtype () const override
 Data type to prefer, as a NumPy dtype, if the array has UnknownType. More...
 
util::dtype return_dtype (util::dtype given_dtype) const override
 Return type for a given_dtype as a NumPy dtype. More...
 
virtual bool returns_positions () const override
 True if this reducer returns index positions; false otherwise. More...
 
const std::shared_ptr< void > apply_bool (const bool *data, const Index64 &parents, int64_t outlength) const override
 Apply the reducer algorithm to an array of boolean values. More...
 
const std::shared_ptr< void > apply_int8 (const int8_t *data, const Index64 &parents, int64_t outlength) const override
 Apply the reducer algorithm to an array of signed 8-bit integer values. More...
 
const std::shared_ptr< void > apply_uint8 (const uint8_t *data, const Index64 &parents, int64_t outlength) const override
 Apply the reducer algorithm to an array of unsigned 8-bit integer values. More...
 
const std::shared_ptr< void > apply_int16 (const int16_t *data, const Index64 &parents, int64_t outlength) const override
 Apply the reducer algorithm to an array of signed 16-bit integer values. More...
 
const std::shared_ptr< void > apply_uint16 (const uint16_t *data, const Index64 &parents, int64_t outlength) const override
 Apply the reducer algorithm to an array of unsigned 16-bit integer values. More...
 
const std::shared_ptr< void > apply_int32 (const int32_t *data, const Index64 &parents, int64_t outlength) const override
 Apply the reducer algorithm to an array of signed 32-bit integer values. More...
 
const std::shared_ptr< void > apply_uint32 (const uint32_t *data, const Index64 &parents, int64_t outlength) const override
 Apply the reducer algorithm to an array of unsigned 32-bit integer values. More...
 
const std::shared_ptr< void > apply_int64 (const int64_t *data, const Index64 &parents, int64_t outlength) const override
 Apply the reducer algorithm to an array of signed 64-bit integer values. More...
 
const std::shared_ptr< void > apply_uint64 (const uint64_t *data, const Index64 &parents, int64_t outlength) const override
 Apply the reducer algorithm to an array of unsigned 64-bit integer values. More...
 
const std::shared_ptr< void > apply_float32 (const float *data, const Index64 &parents, int64_t outlength) const override
 Apply the reducer algorithm to an array of 32-bit floating-point values. More...
 
const std::shared_ptr< void > apply_float64 (const double *data, const Index64 &parents, int64_t outlength) const override
 Apply the reducer algorithm to an array of 64-bit floating-point values. More...
 
const std::shared_ptr< void > apply_complex64 (const std::complex< float > *data, const Index64 &parents, int64_t outlength) const override
 Apply the reducer algorithm to an array of complex 32-bit floating-point values. More...
 
const std::shared_ptr< void > apply_complex128 (const std::complex< double > *data, const Index64 &parents, int64_t outlength) const override
 Apply the reducer algorithm to an array of complex 64-bit floating-point values. More...
 
const std::shared_ptr< void > apply_datetime (const int64_t *data, const Index64 &parents, int64_t outlength) const override
 Apply the reducer algorithm to an array of datetime values. More...
 
const std::shared_ptr< void > apply_timedelta (const int64_t *data, const Index64 &parents, int64_t outlength) const override
 Apply the reducer algorithm to an array of timedelta values. More...
 

Detailed Description

Reducer algorithm that returns the position of the minimum value. The identity is meaningless and should be covered using mask = true.

Reducers have no parameters or state. They are classes for convenience, to separate Content::reduce_next, determining which values to combine, from the choice of reducer algorithm.

For the complex numbers array it returns the position of the minimum absolute value (also known as norm, modulus, or magnitude) of a complex number.

Member Function Documentation

◆ apply_bool()

const std::shared_ptr<void> apply_bool ( const bool *  data,
const Index64 parents,
int64_t  outlength 
) const
overridevirtual

Apply the reducer algorithm to an array of boolean values.

Parameters
dataThe array to reduce.
parentsAn integer array indicating which group each element belongs to.
outlengthThe length of the output array (equal to the number of groups).

Implements Reducer.

◆ apply_complex128()

const std::shared_ptr<void> apply_complex128 ( const std::complex< double > *  data,
const Index64 parents,
int64_t  outlength 
) const
overridevirtual

Apply the reducer algorithm to an array of complex 64-bit floating-point values.

Parameters
dataThe array to reduce.
parentsAn integer array indicating which group each element belongs to.
outlengthThe length of the output array (equal to the number of groups).

Implements Reducer.

◆ apply_complex64()

const std::shared_ptr<void> apply_complex64 ( const std::complex< float > *  data,
const Index64 parents,
int64_t  outlength 
) const
overridevirtual

Apply the reducer algorithm to an array of complex 32-bit floating-point values.

Parameters
dataThe array to reduce.
parentsAn integer array indicating which group each element belongs to.
outlengthThe length of the output array (equal to the number of groups).

Implements Reducer.

◆ apply_datetime()

const std::shared_ptr<void> apply_datetime ( const int64_t *  data,
const Index64 parents,
int64_t  outlength 
) const
overridevirtual

Apply the reducer algorithm to an array of datetime values.

Parameters
dataThe array to reduce.
parentsAn integer array indicating which group each element belongs to.
outlengthThe length of the output array (equal to the number of groups).

Implements Reducer.

◆ apply_float32()

const std::shared_ptr<void> apply_float32 ( const float *  data,
const Index64 parents,
int64_t  outlength 
) const
overridevirtual

Apply the reducer algorithm to an array of 32-bit floating-point values.

Parameters
dataThe array to reduce.
parentsAn integer array indicating which group each element belongs to.
outlengthThe length of the output array (equal to the number of groups).

Implements Reducer.

◆ apply_float64()

const std::shared_ptr<void> apply_float64 ( const double *  data,
const Index64 parents,
int64_t  outlength 
) const
overridevirtual

Apply the reducer algorithm to an array of 64-bit floating-point values.

Parameters
dataThe array to reduce.
parentsAn integer array indicating which group each element belongs to.
outlengthThe length of the output array (equal to the number of groups).

Implements Reducer.

◆ apply_int16()

const std::shared_ptr<void> apply_int16 ( const int16_t *  data,
const Index64 parents,
int64_t  outlength 
) const
overridevirtual

Apply the reducer algorithm to an array of signed 16-bit integer values.

Parameters
dataThe array to reduce.
parentsAn integer array indicating which group each element belongs to.
outlengthThe length of the output array (equal to the number of groups).

Implements Reducer.

◆ apply_int32()

const std::shared_ptr<void> apply_int32 ( const int32_t *  data,
const Index64 parents,
int64_t  outlength 
) const
overridevirtual

Apply the reducer algorithm to an array of signed 32-bit integer values.

Parameters
dataThe array to reduce.
parentsAn integer array indicating which group each element belongs to.
outlengthThe length of the output array (equal to the number of groups).

Implements Reducer.

◆ apply_int64()

const std::shared_ptr<void> apply_int64 ( const int64_t *  data,
const Index64 parents,
int64_t  outlength 
) const
overridevirtual

Apply the reducer algorithm to an array of signed 64-bit integer values.

Parameters
dataThe array to reduce.
parentsAn integer array indicating which group each element belongs to.
outlengthThe length of the output array (equal to the number of groups).

Implements Reducer.

◆ apply_int8()

const std::shared_ptr<void> apply_int8 ( const int8_t *  data,
const Index64 parents,
int64_t  outlength 
) const
overridevirtual

Apply the reducer algorithm to an array of signed 8-bit integer values.

Parameters
dataThe array to reduce.
parentsAn integer array indicating which group each element belongs to.
outlengthThe length of the output array (equal to the number of groups).

Implements Reducer.

◆ apply_timedelta()

const std::shared_ptr<void> apply_timedelta ( const int64_t *  data,
const Index64 parents,
int64_t  outlength 
) const
overridevirtual

Apply the reducer algorithm to an array of timedelta values.

Parameters
dataThe array to reduce.
parentsAn integer array indicating which group each element belongs to.
outlengthThe length of the output array (equal to the number of groups).

Implements Reducer.

◆ apply_uint16()

const std::shared_ptr<void> apply_uint16 ( const uint16_t *  data,
const Index64 parents,
int64_t  outlength 
) const
overridevirtual

Apply the reducer algorithm to an array of unsigned 16-bit integer values.

Parameters
dataThe array to reduce.
parentsAn integer array indicating which group each element belongs to.
outlengthThe length of the output array (equal to the number of groups).

Implements Reducer.

◆ apply_uint32()

const std::shared_ptr<void> apply_uint32 ( const uint32_t *  data,
const Index64 parents,
int64_t  outlength 
) const
overridevirtual

Apply the reducer algorithm to an array of unsigned 32-bit integer values.

Parameters
dataThe array to reduce.
parentsAn integer array indicating which group each element belongs to.
outlengthThe length of the output array (equal to the number of groups).

Implements Reducer.

◆ apply_uint64()

const std::shared_ptr<void> apply_uint64 ( const uint64_t *  data,
const Index64 parents,
int64_t  outlength 
) const
overridevirtual

Apply the reducer algorithm to an array of unsigned 64-bit integer values.

Parameters
dataThe array to reduce.
parentsAn integer array indicating which group each element belongs to.
outlengthThe length of the output array (equal to the number of groups).

Implements Reducer.

◆ apply_uint8()

const std::shared_ptr<void> apply_uint8 ( const uint8_t *  data,
const Index64 parents,
int64_t  outlength 
) const
overridevirtual

Apply the reducer algorithm to an array of unsigned 8-bit integer values.

Parameters
dataThe array to reduce.
parentsAn integer array indicating which group each element belongs to.
outlengthThe length of the output array (equal to the number of groups).

Implements Reducer.

◆ name()

const std::string name ( ) const
overridevirtual

Name of the reducer algorithm: "argmin".

Implements Reducer.

◆ preferred_dtype()

util::dtype preferred_dtype ( ) const
overridevirtual

Data type to prefer, as a NumPy dtype, if the array has UnknownType.

The preferred type for ReducerArgmin is int64.

Implements Reducer.

◆ return_dtype()

util::dtype return_dtype ( util::dtype  given_dtype) const
overridevirtual

Return type for a given_dtype as a NumPy dtype.

The return type for ReducerArgmin is int64.

Reimplemented from Reducer.

◆ returns_positions()

virtual bool returns_positions ( ) const
overridevirtual

True if this reducer returns index positions; false otherwise.

This is always true.

Reimplemented from Reducer.


The documentation for this class was generated from the following file: