Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.17 KB | None | 0 0
  1. #include <array>
  2. #include <mutex>
  3.  
  4. class Memory {
  5. public:
  6.     static constexpr int MarkerCount = 2001;
  7.     static constexpr int RegisterCount = 5001;
  8.  
  9. private:
  10.     std::array<bool, MarkerCount> markers;
  11.     std::array<double, RegisterCount> registers;
  12.  
  13. public:
  14.     explicit Memory();
  15.     double getRegister(int number);
  16.     void setRegister(int number, double value);
  17.     bool getMarker(int number);
  18.     void setMarker(int number, bool value);
  19. };
  20.  
  21. // -------------------------------------------------------
  22.  
  23. Memory::Memory() : markers{false,}, registers{0,} {}
  24.  
  25. double Memory::getRegister(int number) {
  26.     if (number > 0 and number < RegisterCount) {
  27.         return registers.at(number);
  28.     }
  29.     return 0.0;
  30. }
  31.  
  32. void Memory::setRegister(int number, double value) {
  33.     if (number > 0 and number < RegisterCount) {
  34.         registers.at(number) = value;
  35.     }
  36. }
  37.  
  38. bool Memory::getMarker(int number) {
  39.     if (number > 0 and number < MarkerCount) {
  40.         return markers.at(number);
  41.     }
  42.     return false;
  43. }
  44.  
  45. void Memory::setMarker(int number, bool value) {
  46.     if (number > 0 and number < MarkerCount) {
  47.         markers.at(number) = value;
  48.     }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement