blob: 599085aae7e2b94a8f877bef195432c48d7a078a [file] [log] [blame]
#ifndef VPR_HISTOGRAM_H
#define VPR_HISTOGRAM_H
#include <limits>
#include <vector>
struct HistogramBucket {
HistogramBucket(float min_val, float max_val, float init_count = 0) noexcept
: min_value(min_val)
, max_value(max_val)
, count(init_count) {}
float min_value = std::numeric_limits<float>::quiet_NaN();
float max_value = std::numeric_limits<float>::quiet_NaN();
size_t count = 0;
};
std::vector<HistogramBucket> build_histogram(std::vector<float> values, size_t num_bins, float min_value = std::numeric_limits<float>::quiet_NaN(), float max_value = std::numeric_limits<float>::quiet_NaN());
void print_histogram(std::vector<HistogramBucket> histogram);
std::vector<std::string> format_histogram(std::vector<HistogramBucket> histogram, size_t width = 80);
#endif