OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "Sk4px.h" | 8 #include "Sk4px.h" |
9 #include "SkNx.h" | 9 #include "SkNx.h" |
10 #include "SkRandom.h" | 10 #include "SkRandom.h" |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 }; | 200 }; |
201 auto packed = Sk4px::Load4(colors); | 201 auto packed = Sk4px::Load4(colors); |
202 | 202 |
203 auto wideLo = packed.widenLo(), | 203 auto wideLo = packed.widenLo(), |
204 wideHi = packed.widenHi(), | 204 wideHi = packed.widenHi(), |
205 wideLoHi = packed.widenLoHi(), | 205 wideLoHi = packed.widenLoHi(), |
206 wideLoHiAlt = wideLo + wideHi; | 206 wideLoHiAlt = wideLo + wideHi; |
207 REPORTER_ASSERT(r, 0 == memcmp(&wideLoHi, &wideLoHiAlt, sizeof(wideLoHi))); | 207 REPORTER_ASSERT(r, 0 == memcmp(&wideLoHi, &wideLoHiAlt, sizeof(wideLoHi))); |
208 } | 208 } |
209 | 209 |
210 DEF_TEST(Sk4f_toBytes, r) { | |
211 uint8_t bytes[4]; | |
212 | |
213 // toBytes truncates, not rounds. | |
214 Sk4f(0.7f).toBytes(bytes); | |
215 REPORTER_ASSERT(r, bytes[0] == 0); | |
216 | |
217 // Clamping edge cases. | |
218 Sk4f(-2.0f, -0.7f, 255.9f, 256.0f).toBytes(bytes); | |
219 REPORTER_ASSERT(r, bytes[0] == 0); | |
220 REPORTER_ASSERT(r, bytes[1] == 0); | |
221 REPORTER_ASSERT(r, bytes[2] == 255); | |
222 REPORTER_ASSERT(r, bytes[3] == 255); | |
223 } | |
224 | |
225 DEF_TEST(SkNx_cast, r) { | 210 DEF_TEST(SkNx_cast, r) { |
226 Sk4f fs(-1.7f, -1.4f, 0.5f, 1.9f); | 211 Sk4f fs(-1.7f, -1.4f, 0.5f, 1.9f); |
227 Sk4i is = SkNx_cast<int>(fs); | 212 Sk4i is = SkNx_cast<int>(fs); |
228 | 213 |
229 REPORTER_ASSERT(r, is.kth<0>() == -1); | 214 REPORTER_ASSERT(r, is.kth<0>() == -1); |
230 REPORTER_ASSERT(r, is.kth<1>() == -1); | 215 REPORTER_ASSERT(r, is.kth<1>() == -1); |
231 REPORTER_ASSERT(r, is.kth<2>() == 0); | 216 REPORTER_ASSERT(r, is.kth<2>() == 0); |
232 REPORTER_ASSERT(r, is.kth<3>() == 1); | 217 REPORTER_ASSERT(r, is.kth<3>() == 1); |
233 } | 218 } |
OLD | NEW |