keitaro takeuchi
/
TFmini_sample
TFmini sample code tested on mbedos5.x
TFmini/CycleInt.cpp@0:0a7b3a5aa563, 2018-08-21 (annotated)
- Committer:
- UCHITAKE
- Date:
- Tue Aug 21 05:16:43 2018 +0000
- Revision:
- 0:0a7b3a5aa563
initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
UCHITAKE | 0:0a7b3a5aa563 | 1 | #include "CycleInt.h" |
UCHITAKE | 0:0a7b3a5aa563 | 2 | |
UCHITAKE | 0:0a7b3a5aa563 | 3 | CycleInt::CycleInt() : |
UCHITAKE | 0:0a7b3a5aa563 | 4 | limit(CYCLE_LIMIT), |
UCHITAKE | 0:0a7b3a5aa563 | 5 | number(0) |
UCHITAKE | 0:0a7b3a5aa563 | 6 | { |
UCHITAKE | 0:0a7b3a5aa563 | 7 | } |
UCHITAKE | 0:0a7b3a5aa563 | 8 | |
UCHITAKE | 0:0a7b3a5aa563 | 9 | CycleInt::CycleInt(unsigned int lim) : |
UCHITAKE | 0:0a7b3a5aa563 | 10 | limit(lim), |
UCHITAKE | 0:0a7b3a5aa563 | 11 | number(0) |
UCHITAKE | 0:0a7b3a5aa563 | 12 | { |
UCHITAKE | 0:0a7b3a5aa563 | 13 | } |
UCHITAKE | 0:0a7b3a5aa563 | 14 | |
UCHITAKE | 0:0a7b3a5aa563 | 15 | CycleInt::CycleInt(unsigned int lim, int num) : |
UCHITAKE | 0:0a7b3a5aa563 | 16 | limit(lim), |
UCHITAKE | 0:0a7b3a5aa563 | 17 | number(num) |
UCHITAKE | 0:0a7b3a5aa563 | 18 | { |
UCHITAKE | 0:0a7b3a5aa563 | 19 | while(number >= limit) { |
UCHITAKE | 0:0a7b3a5aa563 | 20 | number -= limit; |
UCHITAKE | 0:0a7b3a5aa563 | 21 | } |
UCHITAKE | 0:0a7b3a5aa563 | 22 | } |
UCHITAKE | 0:0a7b3a5aa563 | 23 | |
UCHITAKE | 0:0a7b3a5aa563 | 24 | CycleInt &CycleInt::operator=(const CycleInt &o) |
UCHITAKE | 0:0a7b3a5aa563 | 25 | { |
UCHITAKE | 0:0a7b3a5aa563 | 26 | number = o.number; |
UCHITAKE | 0:0a7b3a5aa563 | 27 | limit = o.limit; |
UCHITAKE | 0:0a7b3a5aa563 | 28 | return *this; |
UCHITAKE | 0:0a7b3a5aa563 | 29 | } |
UCHITAKE | 0:0a7b3a5aa563 | 30 | |
UCHITAKE | 0:0a7b3a5aa563 | 31 | CycleInt &CycleInt::operator=(const int &o) |
UCHITAKE | 0:0a7b3a5aa563 | 32 | { |
UCHITAKE | 0:0a7b3a5aa563 | 33 | number = o; |
UCHITAKE | 0:0a7b3a5aa563 | 34 | while(number >= limit) { |
UCHITAKE | 0:0a7b3a5aa563 | 35 | number -= limit; |
UCHITAKE | 0:0a7b3a5aa563 | 36 | } |
UCHITAKE | 0:0a7b3a5aa563 | 37 | while(number < 0) { |
UCHITAKE | 0:0a7b3a5aa563 | 38 | number += limit; |
UCHITAKE | 0:0a7b3a5aa563 | 39 | } |
UCHITAKE | 0:0a7b3a5aa563 | 40 | return *this; |
UCHITAKE | 0:0a7b3a5aa563 | 41 | } |
UCHITAKE | 0:0a7b3a5aa563 | 42 | |
UCHITAKE | 0:0a7b3a5aa563 | 43 | CycleInt CycleInt::operator++() |
UCHITAKE | 0:0a7b3a5aa563 | 44 | { |
UCHITAKE | 0:0a7b3a5aa563 | 45 | number++; |
UCHITAKE | 0:0a7b3a5aa563 | 46 | if(number >= limit) number -= limit; |
UCHITAKE | 0:0a7b3a5aa563 | 47 | |
UCHITAKE | 0:0a7b3a5aa563 | 48 | return *this; |
UCHITAKE | 0:0a7b3a5aa563 | 49 | } |
UCHITAKE | 0:0a7b3a5aa563 | 50 | |
UCHITAKE | 0:0a7b3a5aa563 | 51 | CycleInt CycleInt::operator--() |
UCHITAKE | 0:0a7b3a5aa563 | 52 | { |
UCHITAKE | 0:0a7b3a5aa563 | 53 | number--; |
UCHITAKE | 0:0a7b3a5aa563 | 54 | if(number < 0) number += limit; |
UCHITAKE | 0:0a7b3a5aa563 | 55 | |
UCHITAKE | 0:0a7b3a5aa563 | 56 | return *this; |
UCHITAKE | 0:0a7b3a5aa563 | 57 | } |
UCHITAKE | 0:0a7b3a5aa563 | 58 | |
UCHITAKE | 0:0a7b3a5aa563 | 59 | CycleInt CycleInt::operator+(CycleInt o) |
UCHITAKE | 0:0a7b3a5aa563 | 60 | { |
UCHITAKE | 0:0a7b3a5aa563 | 61 | CycleInt t; |
UCHITAKE | 0:0a7b3a5aa563 | 62 | t.number = number + o.number; |
UCHITAKE | 0:0a7b3a5aa563 | 63 | t.limit = limit; |
UCHITAKE | 0:0a7b3a5aa563 | 64 | |
UCHITAKE | 0:0a7b3a5aa563 | 65 | while(number >= limit) { |
UCHITAKE | 0:0a7b3a5aa563 | 66 | number -= limit; |
UCHITAKE | 0:0a7b3a5aa563 | 67 | } |
UCHITAKE | 0:0a7b3a5aa563 | 68 | while(number < 0) { |
UCHITAKE | 0:0a7b3a5aa563 | 69 | number += limit; |
UCHITAKE | 0:0a7b3a5aa563 | 70 | } |
UCHITAKE | 0:0a7b3a5aa563 | 71 | |
UCHITAKE | 0:0a7b3a5aa563 | 72 | return t; |
UCHITAKE | 0:0a7b3a5aa563 | 73 | } |
UCHITAKE | 0:0a7b3a5aa563 | 74 | |
UCHITAKE | 0:0a7b3a5aa563 | 75 | CycleInt CycleInt::operator+(int num) |
UCHITAKE | 0:0a7b3a5aa563 | 76 | { |
UCHITAKE | 0:0a7b3a5aa563 | 77 | CycleInt t; |
UCHITAKE | 0:0a7b3a5aa563 | 78 | t.number = number + num; |
UCHITAKE | 0:0a7b3a5aa563 | 79 | t.limit = limit; |
UCHITAKE | 0:0a7b3a5aa563 | 80 | |
UCHITAKE | 0:0a7b3a5aa563 | 81 | while(number >= limit) { |
UCHITAKE | 0:0a7b3a5aa563 | 82 | number -= limit; |
UCHITAKE | 0:0a7b3a5aa563 | 83 | } |
UCHITAKE | 0:0a7b3a5aa563 | 84 | while(number < 0) { |
UCHITAKE | 0:0a7b3a5aa563 | 85 | number += limit; |
UCHITAKE | 0:0a7b3a5aa563 | 86 | } |
UCHITAKE | 0:0a7b3a5aa563 | 87 | |
UCHITAKE | 0:0a7b3a5aa563 | 88 | return t; |
UCHITAKE | 0:0a7b3a5aa563 | 89 | } |
UCHITAKE | 0:0a7b3a5aa563 | 90 | |
UCHITAKE | 0:0a7b3a5aa563 | 91 | CycleInt CycleInt::operator-(CycleInt o) |
UCHITAKE | 0:0a7b3a5aa563 | 92 | { |
UCHITAKE | 0:0a7b3a5aa563 | 93 | CycleInt t; |
UCHITAKE | 0:0a7b3a5aa563 | 94 | t.number = number - o.number; |
UCHITAKE | 0:0a7b3a5aa563 | 95 | t.limit = limit; |
UCHITAKE | 0:0a7b3a5aa563 | 96 | |
UCHITAKE | 0:0a7b3a5aa563 | 97 | while(t.number >= limit) { |
UCHITAKE | 0:0a7b3a5aa563 | 98 | t.number -= limit; |
UCHITAKE | 0:0a7b3a5aa563 | 99 | } |
UCHITAKE | 0:0a7b3a5aa563 | 100 | while(t.number < 0) { |
UCHITAKE | 0:0a7b3a5aa563 | 101 | t.number += limit; |
UCHITAKE | 0:0a7b3a5aa563 | 102 | } |
UCHITAKE | 0:0a7b3a5aa563 | 103 | |
UCHITAKE | 0:0a7b3a5aa563 | 104 | return t; |
UCHITAKE | 0:0a7b3a5aa563 | 105 | } |
UCHITAKE | 0:0a7b3a5aa563 | 106 | |
UCHITAKE | 0:0a7b3a5aa563 | 107 | CycleInt CycleInt::operator-(int num) |
UCHITAKE | 0:0a7b3a5aa563 | 108 | { |
UCHITAKE | 0:0a7b3a5aa563 | 109 | CycleInt t; |
UCHITAKE | 0:0a7b3a5aa563 | 110 | t.number = number - num; |
UCHITAKE | 0:0a7b3a5aa563 | 111 | t.limit = limit; |
UCHITAKE | 0:0a7b3a5aa563 | 112 | |
UCHITAKE | 0:0a7b3a5aa563 | 113 | while(t.number >= limit) { |
UCHITAKE | 0:0a7b3a5aa563 | 114 | t.number -= limit; |
UCHITAKE | 0:0a7b3a5aa563 | 115 | } |
UCHITAKE | 0:0a7b3a5aa563 | 116 | while(t.number < 0) { |
UCHITAKE | 0:0a7b3a5aa563 | 117 | t.number += limit; |
UCHITAKE | 0:0a7b3a5aa563 | 118 | } |
UCHITAKE | 0:0a7b3a5aa563 | 119 | |
UCHITAKE | 0:0a7b3a5aa563 | 120 | return t; |
UCHITAKE | 0:0a7b3a5aa563 | 121 | } |
UCHITAKE | 0:0a7b3a5aa563 | 122 | |
UCHITAKE | 0:0a7b3a5aa563 | 123 | CycleInt::operator int() const |
UCHITAKE | 0:0a7b3a5aa563 | 124 | { |
UCHITAKE | 0:0a7b3a5aa563 | 125 | return number; |
UCHITAKE | 0:0a7b3a5aa563 | 126 | } |