geopm 3.1.1.dev456+g3ba31824
GEOPM - Global Extensible Open Power Manager
Loading...
Searching...
No Matches
Agg.hpp
Go to the documentation of this file.
1/*
2 * Copyright (c) 2015 - 2024 Intel Corporation
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5
6#ifndef AGG_HPP_INCLUDE
7#define AGG_HPP_INCLUDE
8
9#include <functional>
10#include <string>
11#include <vector>
12
13#include "geopm_public.h"
14
15namespace geopm
16{
20 {
21 public:
39 static double sum(const std::vector<double> &operand);
41 static double average(const std::vector<double> &operand);
43 static double median(const std::vector<double> &operand);
47 static double integer_bitwise_or(const std::vector<double> &operand);
51 static double logical_and(const std::vector<double> &operand);
55 static double logical_or(const std::vector<double> &operand);
58 static double min(const std::vector<double> &operand);
61 static double max(const std::vector<double> &operand);
64 static double stddev(const std::vector<double> &operand);
71 static double region_hash(const std::vector<double> &operand);
78 static double region_hint(const std::vector<double> &operand);
82 static double select_first(const std::vector<double> &operand);
87 static double expect_same(const std::vector<double> &operand);
91 static std::function<double(const std::vector<double> &)> name_to_function(const std::string &name);
95 static std::string function_to_name(std::function<double(const std::vector<double> &)> func);
99 static int function_to_type(std::function<double(const std::vector<double> &)> func);
103 static std::function<double(const std::vector<double> &)> type_to_function(int agg_type);
107 static std::string type_to_name(int agg_type);
108 };
109}
110
111#endif
Definition Agg.hpp:20
m_type_e
Definition Agg.hpp:22
@ M_LOGICAL_AND
Definition Agg.hpp:27
@ M_AVERAGE
Definition Agg.hpp:24
@ M_INTEGER_BITWISE_OR
Definition Agg.hpp:26
@ M_SELECT_FIRST
Definition Agg.hpp:34
@ M_MAX
Definition Agg.hpp:30
@ M_MEDIAN
Definition Agg.hpp:25
@ M_SUM
Definition Agg.hpp:23
@ M_STDDEV
Definition Agg.hpp:31
@ M_REGION_HASH
Definition Agg.hpp:32
@ M_LOGICAL_OR
Definition Agg.hpp:28
@ M_REGION_HINT
Definition Agg.hpp:33
@ M_EXPECT_SAME
Definition Agg.hpp:35
@ M_MIN
Definition Agg.hpp:29
#define GEOPM_PUBLIC
Definition geopm_public.h:10
Definition Agg.cpp:20