OSDN Git Service

new repo
[bytom/vapor.git] / vendor / github.com / tendermint / tmlibs / common / math.go
1 package common
2
3 func MaxInt8(a, b int8) int8 {
4         if a > b {
5                 return a
6         }
7         return b
8 }
9
10 func MaxUint8(a, b uint8) uint8 {
11         if a > b {
12                 return a
13         }
14         return b
15 }
16
17 func MaxInt16(a, b int16) int16 {
18         if a > b {
19                 return a
20         }
21         return b
22 }
23
24 func MaxUint16(a, b uint16) uint16 {
25         if a > b {
26                 return a
27         }
28         return b
29 }
30
31 func MaxInt32(a, b int32) int32 {
32         if a > b {
33                 return a
34         }
35         return b
36 }
37
38 func MaxUint32(a, b uint32) uint32 {
39         if a > b {
40                 return a
41         }
42         return b
43 }
44
45 func MaxInt64(a, b int64) int64 {
46         if a > b {
47                 return a
48         }
49         return b
50 }
51
52 func MaxUint64(a, b uint64) uint64 {
53         if a > b {
54                 return a
55         }
56         return b
57 }
58
59 func MaxInt(a, b int) int {
60         if a > b {
61                 return a
62         }
63         return b
64 }
65
66 func MaxUint(a, b uint) uint {
67         if a > b {
68                 return a
69         }
70         return b
71 }
72
73 //-----------------------------------------------------------------------------
74
75 func MinInt8(a, b int8) int8 {
76         if a < b {
77                 return a
78         }
79         return b
80 }
81
82 func MinUint8(a, b uint8) uint8 {
83         if a < b {
84                 return a
85         }
86         return b
87 }
88
89 func MinInt16(a, b int16) int16 {
90         if a < b {
91                 return a
92         }
93         return b
94 }
95
96 func MinUint16(a, b uint16) uint16 {
97         if a < b {
98                 return a
99         }
100         return b
101 }
102
103 func MinInt32(a, b int32) int32 {
104         if a < b {
105                 return a
106         }
107         return b
108 }
109
110 func MinUint32(a, b uint32) uint32 {
111         if a < b {
112                 return a
113         }
114         return b
115 }
116
117 func MinInt64(a, b int64) int64 {
118         if a < b {
119                 return a
120         }
121         return b
122 }
123
124 func MinUint64(a, b uint64) uint64 {
125         if a < b {
126                 return a
127         }
128         return b
129 }
130
131 func MinInt(a, b int) int {
132         if a < b {
133                 return a
134         }
135         return b
136 }
137
138 func MinUint(a, b uint) uint {
139         if a < b {
140                 return a
141         }
142         return b
143 }
144
145 //-----------------------------------------------------------------------------
146
147 func ExpUint64(a, b uint64) uint64 {
148         accum := uint64(1)
149         for b > 0 {
150                 if b&1 == 1 {
151                         accum *= a
152                 }
153                 a *= a
154                 b >>= 1
155         }
156         return accum
157 }