Turi Create  4.0
turi::groupby_operators::vector_sum Class Reference

#include <core/storage/sframe_data/groupby_aggregate_operators.hpp>

Public Member Functions

group_aggregate_valuenew_instance () const
 Returns a new empty instance of sum with the same type.
 
void add_element_simple (const flexible_type &flex)
 Adds a new element to be summed.
 
void combine (const group_aggregate_value &other)
 combines two partial sums
 
flexible_type emit () const
 Emits the sum result.
 
bool support_type (flex_type_enum type) const
 The types supported by the sum.
 
flex_type_enum set_input_type (flex_type_enum type)
 The input type to be summed.
 
std::string name () const
 Name of the class.
 
void save (oarchive &oarc) const
 Serializer.
 
void load (iarchive &iarc)
 Deserializer.
 
virtual void add_element (const std::vector< flexible_type > &values)
 
virtual void partial_finalize ()
 
virtual flex_type_enum set_input_types (const std::vector< flex_type_enum > &types)
 
virtual void print (std::ostream &os) const
 

Detailed Description

Implements a vector sum aggregator

Definition at line 26 of file groupby_aggregate_operators.hpp.

Member Function Documentation

◆ add_element()

virtual void turi::group_aggregate_value::add_element ( const std::vector< flexible_type > &  values)
inlinevirtualinherited

Adds an element to the aggregate. Elements to be added will be either the input_type (as set by set_input_type()) or UNDEFINED.

Operator that expects more than one input values need to overwrite this function

Reimplemented in turi::groupby_operators::zip_dict, turi::groupby_operators::argmax, and turi::groupby_operators::argmin.

Definition at line 60 of file group_aggregate_value.hpp.

◆ partial_finalize()

virtual void turi::group_aggregate_value::partial_finalize ( )
inlinevirtualinherited

No more elements will be added to this value. However, this value may still be combined with other values.

Reimplemented in turi::groupby_operators::quantile.

Definition at line 75 of file group_aggregate_value.hpp.

◆ print()

virtual void turi::group_aggregate_value::print ( std::ostream &  os) const
inlinevirtualinherited

Override this function for allowing the operator to be easily printed.

std::cout << aggregator <<s std::endl;

Reimplemented in turi::groupby_operators::variance.

Definition at line 134 of file group_aggregate_value.hpp.

◆ set_input_types()

virtual flex_type_enum turi::group_aggregate_value::set_input_types ( const std::vector< flex_type_enum > &  types)
inlinevirtualinherited

Sets the input types and returns the output type. For instance, a sum aggregator when summing integers will return an integer, and when summing doubles will return doubles.

Default implementation assumes there is ony one input, and output type is the same as input type.

Reimplemented in turi::groupby_operators::zip_list, turi::groupby_operators::zip_dict, turi::groupby_operators::non_null_count, turi::groupby_operators::count, turi::groupby_operators::argmax, and turi::groupby_operators::argmin.

Definition at line 102 of file group_aggregate_value.hpp.


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