Abstract class for all reducer algorithms. More...
#include <Reducer.h>
Public Member Functions | |
virtual const std::string | name () const =0 |
Name of the reducer algorithm. | |
virtual util::dtype | preferred_dtype () const =0 |
Data type to prefer, as a NumPy dtype, if the array has UnknownType. | |
virtual util::dtype | return_dtype (util::dtype given_dtype) const |
Return type for a given_dtype as a NumPy dtype. | |
virtual bool | returns_positions () const |
True if this reducer returns index positions; false otherwise. | |
virtual const std::shared_ptr< void > | apply_bool (const bool *data, const Index64 &parents, int64_t outlength) const =0 |
Apply the reducer algorithm to an array of boolean values. | |
virtual const std::shared_ptr< void > | apply_int8 (const int8_t *data, const Index64 &parents, int64_t outlength) const =0 |
Apply the reducer algorithm to an array of signed 8-bit integer values. | |
virtual const std::shared_ptr< void > | apply_uint8 (const uint8_t *data, const Index64 &parents, int64_t outlength) const =0 |
Apply the reducer algorithm to an array of unsigned 8-bit integer values. | |
virtual const std::shared_ptr< void > | apply_int16 (const int16_t *data, const Index64 &parents, int64_t outlength) const =0 |
Apply the reducer algorithm to an array of signed 16-bit integer values. | |
virtual const std::shared_ptr< void > | apply_uint16 (const uint16_t *data, const Index64 &parents, int64_t outlength) const =0 |
Apply the reducer algorithm to an array of unsigned 16-bit integer values. | |
virtual const std::shared_ptr< void > | apply_int32 (const int32_t *data, const Index64 &parents, int64_t outlength) const =0 |
Apply the reducer algorithm to an array of signed 32-bit integer values. | |
virtual const std::shared_ptr< void > | apply_uint32 (const uint32_t *data, const Index64 &parents, int64_t outlength) const =0 |
Apply the reducer algorithm to an array of unsigned 32-bit integer values. | |
virtual const std::shared_ptr< void > | apply_int64 (const int64_t *data, const Index64 &parents, int64_t outlength) const =0 |
Apply the reducer algorithm to an array of signed 64-bit integer values. | |
virtual const std::shared_ptr< void > | apply_uint64 (const uint64_t *data, const Index64 &parents, int64_t outlength) const =0 |
Apply the reducer algorithm to an array of unsigned 64-bit integer values. | |
virtual const std::shared_ptr< void > | apply_float32 (const float *data, const Index64 &parents, int64_t outlength) const =0 |
Apply the reducer algorithm to an array of 32-bit floating-point values. | |
virtual const std::shared_ptr< void > | apply_float64 (const double *data, const Index64 &parents, int64_t outlength) const =0 |
Apply the reducer algorithm to an array of 64-bit floating-point values. | |
virtual const std::shared_ptr< void > | apply_complex64 (const std::complex< float > *data, const Index64 &parents, int64_t outlength) const =0 |
Apply the reducer algorithm to an array of complex 32-bit floating-point values. | |
virtual const std::shared_ptr< void > | apply_complex128 (const std::complex< double > *data, const Index64 &parents, int64_t outlength) const =0 |
Apply the reducer algorithm to an array of complex 64-bit floating-point values. | |
virtual const std::shared_ptr< void > | apply_datetime (const int64_t *data, const Index64 &parents, int64_t outlength) const =0 |
Apply the reducer algorithm to an array of datetime values. | |
virtual const std::shared_ptr< void > | apply_timedelta (const int64_t *data, const Index64 &parents, int64_t outlength) const =0 |
Apply the reducer algorithm to an array of timedelta values. | |
Abstract class for all reducer algorithms.
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.
|
pure virtual |
Apply the reducer algorithm to an array of boolean values.
data | The array to reduce. |
parents | An integer array indicating which group each element belongs to. |
outlength | The length of the output array (equal to the number of groups). |
Implemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerMin, ReducerMax, ReducerArgmin, and ReducerArgmax.
|
pure virtual |
Apply the reducer algorithm to an array of complex 64-bit floating-point values.
data | The array to reduce. |
parents | An integer array indicating which group each element belongs to. |
outlength | The length of the output array (equal to the number of groups). |
Implemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerMin, ReducerMax, ReducerArgmin, and ReducerArgmax.
|
pure virtual |
Apply the reducer algorithm to an array of complex 32-bit floating-point values.
data | The array to reduce. |
parents | An integer array indicating which group each element belongs to. |
outlength | The length of the output array (equal to the number of groups). |
Implemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerMin, ReducerMax, ReducerArgmin, and ReducerArgmax.
|
pure virtual |
Apply the reducer algorithm to an array of datetime values.
data | The array to reduce. |
parents | An integer array indicating which group each element belongs to. |
outlength | The length of the output array (equal to the number of groups). |
Implemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerMin, ReducerMax, ReducerArgmin, and ReducerArgmax.
|
pure virtual |
Apply the reducer algorithm to an array of 32-bit floating-point values.
data | The array to reduce. |
parents | An integer array indicating which group each element belongs to. |
outlength | The length of the output array (equal to the number of groups). |
Implemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerMin, ReducerMax, ReducerArgmin, and ReducerArgmax.
|
pure virtual |
Apply the reducer algorithm to an array of 64-bit floating-point values.
data | The array to reduce. |
parents | An integer array indicating which group each element belongs to. |
outlength | The length of the output array (equal to the number of groups). |
Implemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerMin, ReducerMax, ReducerArgmin, and ReducerArgmax.
|
pure virtual |
Apply the reducer algorithm to an array of signed 16-bit integer values.
data | The array to reduce. |
parents | An integer array indicating which group each element belongs to. |
outlength | The length of the output array (equal to the number of groups). |
Implemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerMin, ReducerMax, ReducerArgmin, and ReducerArgmax.
|
pure virtual |
Apply the reducer algorithm to an array of signed 32-bit integer values.
data | The array to reduce. |
parents | An integer array indicating which group each element belongs to. |
outlength | The length of the output array (equal to the number of groups). |
Implemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerMin, ReducerMax, ReducerArgmin, and ReducerArgmax.
|
pure virtual |
Apply the reducer algorithm to an array of signed 64-bit integer values.
data | The array to reduce. |
parents | An integer array indicating which group each element belongs to. |
outlength | The length of the output array (equal to the number of groups). |
Implemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerMin, ReducerMax, ReducerArgmin, and ReducerArgmax.
|
pure virtual |
Apply the reducer algorithm to an array of signed 8-bit integer values.
data | The array to reduce. |
parents | An integer array indicating which group each element belongs to. |
outlength | The length of the output array (equal to the number of groups). |
Implemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerMin, ReducerMax, ReducerArgmin, and ReducerArgmax.
|
pure virtual |
Apply the reducer algorithm to an array of timedelta values.
data | The array to reduce. |
parents | An integer array indicating which group each element belongs to. |
outlength | The length of the output array (equal to the number of groups). |
Implemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerMin, ReducerMax, ReducerArgmin, and ReducerArgmax.
|
pure virtual |
Apply the reducer algorithm to an array of unsigned 16-bit integer values.
data | The array to reduce. |
parents | An integer array indicating which group each element belongs to. |
outlength | The length of the output array (equal to the number of groups). |
Implemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerMin, ReducerMax, ReducerArgmin, and ReducerArgmax.
|
pure virtual |
Apply the reducer algorithm to an array of unsigned 32-bit integer values.
data | The array to reduce. |
parents | An integer array indicating which group each element belongs to. |
outlength | The length of the output array (equal to the number of groups). |
Implemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerMin, ReducerMax, ReducerArgmin, and ReducerArgmax.
|
pure virtual |
Apply the reducer algorithm to an array of unsigned 64-bit integer values.
data | The array to reduce. |
parents | An integer array indicating which group each element belongs to. |
outlength | The length of the output array (equal to the number of groups). |
Implemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerMin, ReducerMax, ReducerArgmin, and ReducerArgmax.
|
pure virtual |
Apply the reducer algorithm to an array of unsigned 8-bit integer values.
data | The array to reduce. |
parents | An integer array indicating which group each element belongs to. |
outlength | The length of the output array (equal to the number of groups). |
Implemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerMin, ReducerMax, ReducerArgmin, and ReducerArgmax.
Name of the reducer algorithm.
Implemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerMin, ReducerMax, ReducerArgmin, and ReducerArgmax.
|
pure virtual |
Data type to prefer, as a NumPy dtype, if the array has UnknownType.
Implemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerMin, ReducerMax, ReducerArgmin, and ReducerArgmax.
|
virtual |
Return type for a given_dtype
as a NumPy dtype.
Reimplemented in ReducerCount, ReducerCountNonzero, ReducerSum, ReducerProd, ReducerAny, ReducerAll, ReducerArgmin, and ReducerArgmax.
True if this reducer returns index positions; false otherwise.
Reimplemented in ReducerArgmin, and ReducerArgmax.