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.
|
pure virtual |
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.
|
virtual |
True if this reducer returns index positions; false otherwise.
Reimplemented in ReducerArgmin, and ReducerArgmax.