| Index: include/core/SkEndian.h
|
| diff --git a/include/core/SkEndian.h b/include/core/SkEndian.h
|
| index 6eba297548ee0a88d63b2e11e7c0fca4f95d1786..0955fcc505dab6add8c8ffabed3279ed9cc2ed72 100644
|
| --- a/include/core/SkEndian.h
|
| +++ b/include/core/SkEndian.h
|
| @@ -1,4 +1,3 @@
|
| -
|
| /*
|
| * Copyright 2006 The Android Open Source Project
|
| *
|
| @@ -6,7 +5,6 @@
|
| * found in the LICENSE file.
|
| */
|
|
|
| -
|
| #ifndef SkEndian_DEFINED
|
| #define SkEndian_DEFINED
|
|
|
| @@ -29,10 +27,10 @@
|
| /** Swap the two bytes in the low 16bits of the parameters.
|
| e.g. 0x1234 -> 0x3412
|
| */
|
| -static inline uint16_t SkEndianSwap16(U16CPU value) {
|
| - SkASSERT(value == (uint16_t)value);
|
| +static inline uint16_t SkEndianSwap16(uint16_t value) {
|
| return static_cast<uint16_t>((value >> 8) | (value << 8));
|
| }
|
| +
|
| template<uint16_t N> struct SkTEndianSwap16 {
|
| static const uint16_t value = static_cast<uint16_t>((N >> 8) | ((N & 0xFF) << 8));
|
| };
|
| @@ -53,11 +51,12 @@ static inline void SkEndianSwap16s(uint16_t array[], int count) {
|
| e.g. 0x12345678 -> 0x78563412
|
| */
|
| static inline uint32_t SkEndianSwap32(uint32_t value) {
|
| - return ((value & 0xFF) << 24) |
|
| - ((value & 0xFF00) << 8) |
|
| - ((value & 0xFF0000) >> 8) |
|
| + return ((value & 0xFF) << 24) |
|
| + ((value & 0xFF00) << 8) |
|
| + ((value & 0xFF0000) >> 8) |
|
| (value >> 24);
|
| }
|
| +
|
| template<uint32_t N> struct SkTEndianSwap32 {
|
| static const uint32_t value = ((N & 0xFF) << 24) |
|
| ((N & 0xFF00) << 8) |
|
|
|