Guest User

Untitled

a guest
Jun 24th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.76 KB | None | 0 0
  1. #include <iostream>
  2. #include <chrono>
  3. #include <ctime>
  4. #include <cmath>
  5.  
  6. bool SYSTEMRUNNING = false;
  7. class UTimer
  8. {
  9. private:
  10. std::chrono::time_point<std::chrono::system_clock> m_StartTime;
  11. std::chrono::time_point<std::chrono::system_clock> m_EndTime;
  12. bool m_bRunning = false;
  13. public:
  14. void start()
  15. {
  16. m_StartTime = std::chrono::system_clock::now();
  17. m_bRunning = true;
  18. }
  19. void stop()
  20. {
  21. m_EndTime = std::chrono::system_clock::now();
  22. m_bRunning = false;
  23. }
  24. double elapsedMilliseconds()
  25. {
  26. std::chrono::time_point<std::chrono::system_clock> endTime;
  27. if(m_bRunning)
  28. {
  29. endTime = std::chrono::system_clock::now();
  30. }
  31. else
  32. {
  33. endTime = m_EndTime;
  34. }
  35. return std::chrono::duration_cast<std::chrono::milliseconds>(endTime - m_StartTime).count();
  36. }
  37. double elapsedSeconds()
  38. {
  39. return elapsedMilliseconds() / 1000.0;
  40. }
  41. };
  42. class Robog
  43. {
  44. private:
  45. bool POWER;
  46. float y;
  47. float accentuate;
  48. float xlin;
  49. public:
  50. bool waitforinstruction = true;
  51. class RobogUpdateModule
  52. {
  53. public:
  54. UTimer updateTimer;
  55. void update(float delta_time)
  56. {
  57. updateTimer.start();
  58. int counter = 0;
  59. while(updateTimer.elapsedSeconds() < 10.0)
  60. {
  61. counter++;
  62. std::cout << counter << std::endl;
  63. }
  64. //-NOTE Update Method IF
  65. }
  66. };
  67. RobogUpdateModule ROBOGUPDATEMODULE;
  68. // ROBOG POWEROPERATIONS
  69. bool ROBOG_OPERATING_STATUS(bool power){
  70. POWER = power;
  71. }
  72. bool getROBOG_OPERATING_STATUS(){
  73. if (POWER){
  74. return "SYSTEM ON";
  75. }
  76. else
  77. {
  78. return "SYSTEM OFF";
  79. }
  80. }
  81. bool ROBOG_PAUSE(bool status)
  82. {
  83. std::cin.get();
  84. }
  85. // ROBOG BRAINCOMPUTING
  86. void activatePropagation(){
  87. y += 1;
  88. }
  89. void propagateForward(float &_W, const float _BIAS)
  90. {
  91. y = _W + _BIAS * _BIAS;
  92. _W = accentuate;
  93. xlin = _BIAS;
  94. }
  95. void Error(const float &x){
  96. accentuate * xlin * xlin -x;
  97. }
  98. };
  99. class ProcessTimer : Robog
  100. {
  101. private:
  102. std::chrono::time_point<std::chrono::system_clock> m_StartTime;
  103. std::chrono::time_point<std::chrono::system_clock> m_EndTime;
  104. bool m_bRunning = false;
  105. public:
  106. void start()
  107. {
  108. m_StartTime = std::chrono::system_clock::now();
  109. m_bRunning = true;
  110. }
  111. void stop()
  112. {
  113. m_EndTime = std::chrono::system_clock::now();
  114. m_bRunning = false;
  115. }
  116. double elapsedMilliseconds()
  117. {
  118. std::chrono::time_point<std::chrono::system_clock> endTime;
  119. if(m_bRunning)
  120. {
  121. endTime = std::chrono::system_clock::now();
  122. }
  123. else
  124. {
  125. endTime = m_EndTime;
  126. }
  127. return std::chrono::duration_cast<std::chrono::milliseconds>(endTime - m_StartTime).count();
  128. }
  129. double elapsedSeconds()
  130. {
  131. return elapsedMilliseconds() / 1000.0;
  132. }
  133. };
  134.  
  135. int main(int argc, char **argv)
  136. {
  137. SYSTEMRUNNING = true;
  138. Robog ROBOG;
  139. ProcessTimer timer;
  140. ROBOG.waitforinstruction = true;
  141. while (ROBOG.ROBOG_OPERATING_STATUS(true))
  142. {
  143.  
  144. if (ROBOG.ROBOG_OPERATING_STATUS(true))
  145. {
  146. ROBOG.ROBOGUPDATEMODULE.update(1.0);
  147. }
  148. else if (ROBOG.ROBOG_PAUSE(true))
  149. {
  150. if (ROBOG.ROBOG_PAUSE(false))
  151. {
  152. std::cout << "System RESUME" << std::endl;
  153. }
  154. }
  155. /*
  156. timer.start();
  157. int counter = 0;
  158. while(timer.elapsedSeconds() < 1.0)
  159. {
  160. counter++;
  161. }
  162. //timer.stop();
  163. //return 0;
  164. */
  165. }
  166. }
Add Comment
Please, Sign In to add comment