1
0

RunData.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #pragma once
  2. #include <string>
  3. #include <vector>
  4. #include <fstream>
  5. #include <QPoint>
  6. #include <map>
  7. #include "GraphView.h"
  8. struct GraphDataPoint;
  9. struct SolutionPointData {
  10. int iteration;
  11. double objectiveFunction;
  12. int particleNumber;
  13. std::vector<bool> bitVec;
  14. };
  15. class RunData
  16. {
  17. public:
  18. std::string name;
  19. std::string information;
  20. std::vector<SolutionPointData> solutionVec;
  21. RunData();
  22. RunData(std::string filePath);
  23. std::vector<GraphDataPoint> bestSolutionPerIteration;
  24. std::vector<GraphDataPoint> averageSolutionPerItertion;
  25. std::vector<GraphDataPoint> minSolutionPerItertion;
  26. std::vector<GraphDataPoint> maxSolutionPerItertion;
  27. std::vector<GraphDataPoint> dotsForDistribution;
  28. std::vector<GraphDataPoint> testForBitField;
  29. std::map<int, std::vector<GraphDataPoint>> particleMap;
  30. private:
  31. bool badFileFlag = false;
  32. std::fstream fileStream;
  33. int actualLine = 0;
  34. void getLine(std::string& bufferString);
  35. void calculateBestAndAverageIter();
  36. void calculateParticleSolution();
  37. void calculateDotsForDistribution();
  38. void generateRandomBitFieldData();
  39. };