39 lines
1.2 KiB
C++
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
|