TFmini sample code tested on mbedos5.x

Committer:
UCHITAKE
Date:
Tue Aug 21 05:16:43 2018 +0000
Revision:
0:0a7b3a5aa563
initial commit

Who changed what in which revision?

UserRevisionLine numberNew 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 }