1module VerifyColor240 where
6import Graphics.Vty.Attributes.Color240(rgbColorToColor240)
8oldRgbColorToColor240 :: Integral i => i -> i -> i -> Word8
9oldRgbColorToColor240 r g b
10 | r < 0 && g < 0 && b < 0 = error "rgbColor with negative color component intensity"
11 | r == 8 && g == 8 && b == 8 = 216
12 | r == 18 && g == 18 && b == 18 = 217
13 | r == 28 && g == 28 && b == 28 = 218
14 | r == 38 && g == 38 && b == 38 = 219
15 | r == 48 && g == 48 && b == 48 = 220
16 | r == 58 && g == 58 && b == 58 = 221
17 | r == 68 && g == 68 && b == 68 = 222
18 | r == 78 && g == 78 && b == 78 = 223
19 | r == 88 && g == 88 && b == 88 = 224
20 | r == 98 && g == 98 && b == 98 = 225
21 | r == 108 && g == 108 && b == 108 = 226
22 | r == 118 && g == 118 && b == 118 = 227
23 | r == 128 && g == 128 && b == 128 = 228
24 | r == 138 && g == 138 && b == 138 = 229
25 | r == 148 && g == 148 && b == 148 = 230
26 | r == 158 && g == 158 && b == 158 = 231
27 | r == 168 && g == 168 && b == 168 = 232
28 | r == 178 && g == 178 && b == 178 = 233
29 | r == 188 && g == 188 && b == 188 = 234
30 | r == 198 && g == 198 && b == 198 = 235
31 | r == 208 && g == 208 && b == 208 = 236
32 | r == 218 && g == 218 && b == 218 = 237
33 | r == 228 && g == 228 && b == 228 = 238
34 | r == 238 && g == 238 && b == 238 = 239
35 | r <= 0 && g <= 0 && b <= 0 = 0
36 | r <= 0 && g <= 0 && b <= 95 = 1
37 | r <= 0 && g <= 0 && b <= 135 = 2
38 | r <= 0 && g <= 0 && b <= 175 = 3
39 | r <= 0 && g <= 0 && b <= 215 = 4
40 | r <= 0 && g <= 0 && b <= 255 = 5
41 | r <= 0 && g <= 95 && b <= 0 = 6
42 | r <= 0 && g <= 95 && b <= 95 = 7
43 | r <= 0 && g <= 95 && b <= 135 = 8
44 | r <= 0 && g <= 95 && b <= 175 = 9
45 | r <= 0 && g <= 95 && b <= 215 = 10
46 | r <= 0 && g <= 95 && b <= 255 = 11
47 | r <= 0 && g <= 135 && b <= 0 = 12
48 | r <= 0 && g <= 135 && b <= 95 = 13
49 | r <= 0 && g <= 135 && b <= 135 = 14
50 | r <= 0 && g <= 135 && b <= 175 = 15
51 | r <= 0 && g <= 135 && b <= 215 = 16
52 | r <= 0 && g <= 135 && b <= 255 = 17
53 | r <= 0 && g <= 175 && b <= 0 = 18
54 | r <= 0 && g <= 175 && b <= 95 = 19
55 | r <= 0 && g <= 175 && b <= 135 = 20
56 | r <= 0 && g <= 175 && b <= 175 = 21
57 | r <= 0 && g <= 175 && b <= 215 = 22
58 | r <= 0 && g <= 175 && b <= 255 = 23
59 | r <= 0 && g <= 215 && b <= 0 = 24
60 | r <= 0 && g <= 215 && b <= 95 = 25
61 | r <= 0 && g <= 215 && b <= 135 = 26
62 | r <= 0 && g <= 215 && b <= 175 = 27
63 | r <= 0 && g <= 215 && b <= 215 = 28
64 | r <= 0 && g <= 215 && b <= 255 = 29
65 | r <= 0 && g <= 255 && b <= 0 = 30
66 | r <= 0 && g <= 255 && b <= 95 = 31
67 | r <= 0 && g <= 255 && b <= 135 = 32
68 | r <= 0 && g <= 255 && b <= 175 = 33
69 | r <= 0 && g <= 255 && b <= 215 = 34
70 | r <= 0 && g <= 255 && b <= 255 = 35
71 | r <= 95 && g <= 0 && b <= 0 = 36
72 | r <= 95 && g <= 0 && b <= 95 = 37
73 | r <= 95 && g <= 0 && b <= 135 = 38
74 | r <= 95 && g <= 0 && b <= 175 = 39
75 | r <= 95 && g <= 0 && b <= 215 = 40
76 | r <= 95 && g <= 0 && b <= 255 = 41
77 | r <= 95 && g <= 95 && b <= 0 = 42
78 | r <= 95 && g <= 95 && b <= 95 = 43
79 | r <= 95 && g <= 95 && b <= 135 = 44
80 | r <= 95 && g <= 95 && b <= 175 = 45
81 | r <= 95 && g <= 95 && b <= 215 = 46
82 | r <= 95 && g <= 95 && b <= 255 = 47
83 | r <= 95 && g <= 135 && b <= 0 = 48
84 | r <= 95 && g <= 135 && b <= 95 = 49
85 | r <= 95 && g <= 135 && b <= 135 = 50
86 | r <= 95 && g <= 135 && b <= 175 = 51
87 | r <= 95 && g <= 135 && b <= 215 = 52
88 | r <= 95 && g <= 135 && b <= 255 = 53
89 | r <= 95 && g <= 175 && b <= 0 = 54
90 | r <= 95 && g <= 175 && b <= 95 = 55
91 | r <= 95 && g <= 175 && b <= 135 = 56
92 | r <= 95 && g <= 175 && b <= 175 = 57
93 | r <= 95 && g <= 175 && b <= 215 = 58
94 | r <= 95 && g <= 175 && b <= 255 = 59
95 | r <= 95 && g <= 215 && b <= 0 = 60
96 | r <= 95 && g <= 215 && b <= 95 = 61
97 | r <= 95 && g <= 215 && b <= 135 = 62
98 | r <= 95 && g <= 215 && b <= 175 = 63
99 | r <= 95 && g <= 215 && b <= 215 = 64
100 | r <= 95 && g <= 215 && b <= 255 = 65
101 | r <= 95 && g <= 255 && b <= 0 = 66
102 | r <= 95 && g <= 255 && b <= 95 = 67
103 | r <= 95 && g <= 255 && b <= 135 = 68
104 | r <= 95 && g <= 255 && b <= 175 = 69
105 | r <= 95 && g <= 255 && b <= 215 = 70
106 | r <= 95 && g <= 255 && b <= 255 = 71
107 | r <= 135 && g <= 0 && b <= 0 = 72
108 | r <= 135 && g <= 0 && b <= 95 = 73
109 | r <= 135 && g <= 0 && b <= 135 = 74
110 | r <= 135 && g <= 0 && b <= 175 = 75
111 | r <= 135 && g <= 0 && b <= 215 = 76
112 | r <= 135 && g <= 0 && b <= 255 = 77
113 | r <= 135 && g <= 95 && b <= 0 = 78
114 | r <= 135 && g <= 95 && b <= 95 = 79
115 | r <= 135 && g <= 95 && b <= 135 = 80
116 | r <= 135 && g <= 95 && b <= 175 = 81
117 | r <= 135 && g <= 95 && b <= 215 = 82
118 | r <= 135 && g <= 95 && b <= 255 = 83
119 | r <= 135 && g <= 135 && b <= 0 = 84
120 | r <= 135 && g <= 135 && b <= 95 = 85
121 | r <= 135 && g <= 135 && b <= 135 = 86
122 | r <= 135 && g <= 135 && b <= 175 = 87
123 | r <= 135 && g <= 135 && b <= 215 = 88
124 | r <= 135 && g <= 135 && b <= 255 = 89
125 | r <= 135 && g <= 175 && b <= 0 = 90
126 | r <= 135 && g <= 175 && b <= 95 = 91
127 | r <= 135 && g <= 175 && b <= 135 = 92
128 | r <= 135 && g <= 175 && b <= 175 = 93
129 | r <= 135 && g <= 175 && b <= 215 = 94
130 | r <= 135 && g <= 175 && b <= 255 = 95
131 | r <= 135 && g <= 215 && b <= 0 = 96
132 | r <= 135 && g <= 215 && b <= 95 = 97
133 | r <= 135 && g <= 215 && b <= 135 = 98
134 | r <= 135 && g <= 215 && b <= 175 = 99
135 | r <= 135 && g <= 215 && b <= 215 = 100
136 | r <= 135 && g <= 215 && b <= 255 = 101
137 | r <= 135 && g <= 255 && b <= 0 = 102
138 | r <= 135 && g <= 255 && b <= 95 = 103
139 | r <= 135 && g <= 255 && b <= 135 = 104
140 | r <= 135 && g <= 255 && b <= 175 = 105
141 | r <= 135 && g <= 255 && b <= 215 = 106
142 | r <= 135 && g <= 255 && b <= 255 = 107
143 | r <= 175 && g <= 0 && b <= 0 = 108
144 | r <= 175 && g <= 0 && b <= 95 = 109
145 | r <= 175 && g <= 0 && b <= 135 = 110
146 | r <= 175 && g <= 0 && b <= 175 = 111
147 | r <= 175 && g <= 0 && b <= 215 = 112
148 | r <= 175 && g <= 0 && b <= 255 = 113
149 | r <= 175 && g <= 95 && b <= 0 = 114
150 | r <= 175 && g <= 95 && b <= 95 = 115
151 | r <= 175 && g <= 95 && b <= 135 = 116
152 | r <= 175 && g <= 95 && b <= 175 = 117
153 | r <= 175 && g <= 95 && b <= 215 = 118
154 | r <= 175 && g <= 95 && b <= 255 = 119
155 | r <= 175 && g <= 135 && b <= 0 = 120
156 | r <= 175 && g <= 135 && b <= 95 = 121
157 | r <= 175 && g <= 135 && b <= 135 = 122
158 | r <= 175 && g <= 135 && b <= 175 = 123
159 | r <= 175 && g <= 135 && b <= 215 = 124
160 | r <= 175 && g <= 135 && b <= 255 = 125
161 | r <= 175 && g <= 175 && b <= 0 = 126
162 | r <= 175 && g <= 175 && b <= 95 = 127
163 | r <= 175 && g <= 175 && b <= 135 = 128
164 | r <= 175 && g <= 175 && b <= 175 = 129
165 | r <= 175 && g <= 175 && b <= 215 = 130
166 | r <= 175 && g <= 175 && b <= 255 = 131
167 | r <= 175 && g <= 215 && b <= 0 = 132
168 | r <= 175 && g <= 215 && b <= 95 = 133
169 | r <= 175 && g <= 215 && b <= 135 = 134
170 | r <= 175 && g <= 215 && b <= 175 = 135
171 | r <= 175 && g <= 215 && b <= 215 = 136
172 | r <= 175 && g <= 215 && b <= 255 = 137
173 | r <= 175 && g <= 255 && b <= 0 = 138
174 | r <= 175 && g <= 255 && b <= 95 = 139
175 | r <= 175 && g <= 255 && b <= 135 = 140
176 | r <= 175 && g <= 255 && b <= 175 = 141
177 | r <= 175 && g <= 255 && b <= 215 = 142
178 | r <= 175 && g <= 255 && b <= 255 = 143
179 | r <= 215 && g <= 0 && b <= 0 = 144
180 | r <= 215 && g <= 0 && b <= 95 = 145
181 | r <= 215 && g <= 0 && b <= 135 = 146
182 | r <= 215 && g <= 0 && b <= 175 = 147
183 | r <= 215 && g <= 0 && b <= 215 = 148
184 | r <= 215 && g <= 0 && b <= 255 = 149
185 | r <= 215 && g <= 95 && b <= 0 = 150
186 | r <= 215 && g <= 95 && b <= 95 = 151
187 | r <= 215 && g <= 95 && b <= 135 = 152
188 | r <= 215 && g <= 95 && b <= 175 = 153
189 | r <= 215 && g <= 95 && b <= 215 = 154
190 | r <= 215 && g <= 95 && b <= 255 = 155
191 | r <= 215 && g <= 135 && b <= 0 = 156
192 | r <= 215 && g <= 135 && b <= 95 = 157
193 | r <= 215 && g <= 135 && b <= 135 = 158
194 | r <= 215 && g <= 135 && b <= 175 = 159
195 | r <= 215 && g <= 135 && b <= 215 = 160
196 | r <= 215 && g <= 135 && b <= 255 = 161
197 | r <= 215 && g <= 175 && b <= 0 = 162
198 | r <= 215 && g <= 175 && b <= 95 = 163
199 | r <= 215 && g <= 175 && b <= 135 = 164
200 | r <= 215 && g <= 175 && b <= 175 = 165
201 | r <= 215 && g <= 175 && b <= 215 = 166
202 | r <= 215 && g <= 175 && b <= 255 = 167
203 | r <= 215 && g <= 215 && b <= 0 = 168
204 | r <= 215 && g <= 215 && b <= 95 = 169
205 | r <= 215 && g <= 215 && b <= 135 = 170
206 | r <= 215 && g <= 215 && b <= 175 = 171
207 | r <= 215 && g <= 215 && b <= 215 = 172
208 | r <= 215 && g <= 215 && b <= 255 = 173
209 | r <= 215 && g <= 255 && b <= 0 = 174
210 | r <= 215 && g <= 255 && b <= 95 = 175
211 | r <= 215 && g <= 255 && b <= 135 = 176
212 | r <= 215 && g <= 255 && b <= 175 = 177
213 | r <= 215 && g <= 255 && b <= 215 = 178
214 | r <= 215 && g <= 255 && b <= 255 = 179
215 | r <= 255 && g <= 0 && b <= 0 = 180
216 | r <= 255 && g <= 0 && b <= 95 = 181
217 | r <= 255 && g <= 0 && b <= 135 = 182
218 | r <= 255 && g <= 0 && b <= 175 = 183
219 | r <= 255 && g <= 0 && b <= 215 = 184
220 | r <= 255 && g <= 0 && b <= 255 = 185
221 | r <= 255 && g <= 95 && b <= 0 = 186
222 | r <= 255 && g <= 95 && b <= 95 = 187
223 | r <= 255 && g <= 95 && b <= 135 = 188
224 | r <= 255 && g <= 95 && b <= 175 = 189
225 | r <= 255 && g <= 95 && b <= 215 = 190
226 | r <= 255 && g <= 95 && b <= 255 = 191
227 | r <= 255 && g <= 135 && b <= 0 = 192
228 | r <= 255 && g <= 135 && b <= 95 = 193
229 | r <= 255 && g <= 135 && b <= 135 = 194
230 | r <= 255 && g <= 135 && b <= 175 = 195
231 | r <= 255 && g <= 135 && b <= 215 = 196
232 | r <= 255 && g <= 135 && b <= 255 = 197
233 | r <= 255 && g <= 175 && b <= 0 = 198
234 | r <= 255 && g <= 175 && b <= 95 = 199
235 | r <= 255 && g <= 175 && b <= 135 = 200
236 | r <= 255 && g <= 175 && b <= 175 = 201
237 | r <= 255 && g <= 175 && b <= 215 = 202
238 | r <= 255 && g <= 175 && b <= 255 = 203
239 | r <= 255 && g <= 215 && b <= 0 = 204
240 | r <= 255 && g <= 215 && b <= 95 = 205
241 | r <= 255 && g <= 215 && b <= 135 = 206
242 | r <= 255 && g <= 215 && b <= 175 = 207
243 | r <= 255 && g <= 215 && b <= 215 = 208
244 | r <= 255 && g <= 215 && b <= 255 = 209
245 | r <= 255 && g <= 255 && b <= 0 = 210
246 | r <= 255 && g <= 255 && b <= 95 = 211
247 | r <= 255 && g <= 255 && b <= 135 = 212
248 | r <= 255 && g <= 255 && b <= 175 = 213
249 | r <= 255 && g <= 255 && b <= 215 = 214
250 | r <= 255 && g <= 255 && b <= 255 = 215
251 | otherwise = error (printf "RGB color %d %d %d does not map to 240 palette."
252 (fromIntegral r :: Int)
253 (fromIntegral g :: Int)
254 (fromIntegral b :: Int))
256sameColor :: Int -> Int -> Int -> Bool
257sameColor r g b = oldRgbColorToColor240 r g b == rgbColorToColor240 r g b
260genVal = chooseInt (0, 255)
262sameColorCheck :: Property
263sameColorCheck = forAll genVal (\r -> forAll genVal (\g -> forAll genVal (sameColor r g)))
267 [ verify "check rgbColorToColor240 optimization is correct" sameColorCheck
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list