Files
cs3460-cpp/Hw3/distributions.hpp
2019-09-27 23:21:56 -07:00

39 lines
1.2 KiB
C++

//
// Created by Brady Bodily on 9/27/19.
//
#ifndef HW3_DISTRIBUTIONS_HPP
#define HW3_DISTRIBUTIONS_HPP
#include <iomanip>
#include <iostream>
#include <random>
#include <vector>
class DistributionPair
{
public:
DistributionPair(std::uint32_t minValue, std::uint32_t maxValue) :
minValue(minValue), maxValue(maxValue), count(0) {}
std::uint32_t minValue;
std::uint32_t maxValue;
std::uint32_t count;
};
std::vector<DistributionPair>
generateUniformDistribution(std::uint32_t howMany, std::uint32_t min,
std::uint32_t max, std::uint8_t numberBins);
std::vector<DistributionPair>
generateNormalDistribution(std::uint32_t howMany, float mean, float stdev,
std::uint8_t numberBins);
std::vector<DistributionPair>
generatePoissonDistribution(std::uint32_t howMany, std::uint8_t howOften,
std::uint8_t numberBins);
void plotDistribution(std::string title,
const std::vector<DistributionPair>& distribution,
const std::uint8_t maxPlotLineSize);
std::vector<DistributionPair> createBins(int min, int max, int binCount);
#endif // HW3_DISTRIBUTIONS_HPP