diff options
author | mtklein <mtklein@chromium.org> | 2014-09-30 15:22:06 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-30 15:22:06 -0700 |
commit | f6fde175b81db98cd3799ee88714a4c579bb44bd (patch) | |
tree | 65c29ef52c8868cdbc19e619722ed7fbdacc55c1 /src | |
parent | 46616af01b412ea984a516fda1ed8ec08e689f29 (diff) |
Archive more dead code.
BUG=skia:
R=reed@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/617003004
Diffstat (limited to 'src')
-rw-r--r-- | src/core/SkMath.cpp | 113 | ||||
-rw-r--r-- | src/core/SkMiniData.cpp | 80 | ||||
-rw-r--r-- | src/core/SkMiniData.h | 24 | ||||
-rw-r--r-- | src/core/SkSinTable.h | 277 |
4 files changed, 0 insertions, 494 deletions
diff --git a/src/core/SkMath.cpp b/src/core/SkMath.cpp index aeacebecd4..e33fe55e01 100644 --- a/src/core/SkMath.cpp +++ b/src/core/SkMath.cpp @@ -174,116 +174,3 @@ float SkScalarSinCos(float radians, float* cosValue) { } return sinValue; } - -#define INTERP_SINTABLE -#define BUILD_TABLE_AT_RUNTIMEx - -#define kTableSize 256 - -#ifdef BUILD_TABLE_AT_RUNTIME - static uint16_t gSkSinTable[kTableSize]; - - static void build_sintable(uint16_t table[]) { - for (int i = 0; i < kTableSize; i++) { - double rad = i * 3.141592653589793 / (2*kTableSize); - double val = sin(rad); - int ival = (int)(val * SK_Fixed1); - table[i] = SkToU16(ival); - } - } -#else - #include "SkSinTable.h" -#endif - -#define SK_Fract1024SizeOver2PI 0x28BE60 /* floatToFract(1024 / 2PI) */ - -#ifdef INTERP_SINTABLE -static SkFixed interp_table(const uint16_t table[], int index, int partial255) { - SkASSERT((unsigned)index < kTableSize); - SkASSERT((unsigned)partial255 <= 255); - - SkFixed lower = table[index]; - SkFixed upper = (index == kTableSize - 1) ? SK_Fixed1 : table[index + 1]; - - SkASSERT(lower < upper); - SkASSERT(lower >= 0); - SkASSERT(upper <= SK_Fixed1); - - partial255 += (partial255 >> 7); - return lower + ((upper - lower) * partial255 >> 8); -} -#endif - -SkFixed SkFixedSinCos(SkFixed radians, SkFixed* cosValuePtr) { - SkASSERT(SK_ARRAY_COUNT(gSkSinTable) == kTableSize); - -#ifdef BUILD_TABLE_AT_RUNTIME - static bool gFirstTime = true; - if (gFirstTime) { - build_sintable(gSinTable); - gFirstTime = false; - } -#endif - - // make radians positive - SkFixed sinValue, cosValue; - int32_t cosSign = 0; - int32_t sinSign = SkExtractSign(radians); - radians = SkApplySign(radians, sinSign); - // scale it to 0...1023 ... - -#ifdef INTERP_SINTABLE - radians = SkMulDiv(radians, 2 * kTableSize * 256, SK_FixedPI); - int findex = radians & (kTableSize * 256 - 1); - int index = findex >> 8; - int partial = findex & 255; - sinValue = interp_table(gSkSinTable, index, partial); - - findex = kTableSize * 256 - findex - 1; - index = findex >> 8; - partial = findex & 255; - cosValue = interp_table(gSkSinTable, index, partial); - - int quad = ((unsigned)radians / (kTableSize * 256)) & 3; -#else - radians = SkMulDiv(radians, 2 * kTableSize, SK_FixedPI); - int index = radians & (kTableSize - 1); - - if (index == 0) { - sinValue = 0; - cosValue = SK_Fixed1; - } else { - sinValue = gSkSinTable[index]; - cosValue = gSkSinTable[kTableSize - index]; - } - int quad = ((unsigned)radians / kTableSize) & 3; -#endif - - if (quad & 1) { - SkTSwap<SkFixed>(sinValue, cosValue); - } - if (quad & 2) { - sinSign = ~sinSign; - } - if (((quad - 1) & 2) == 0) { - cosSign = ~cosSign; - } - - // restore the sign for negative angles - sinValue = SkApplySign(sinValue, sinSign); - cosValue = SkApplySign(cosValue, cosSign); - -#ifdef SK_DEBUG - if (1) { - SkFixed sin2 = SkFixedMul(sinValue, sinValue); - SkFixed cos2 = SkFixedMul(cosValue, cosValue); - int diff = cos2 + sin2 - SK_Fixed1; - SkASSERT(SkAbs32(diff) <= 7); - } -#endif - - if (cosValuePtr) { - *cosValuePtr = cosValue; - } - return sinValue; -} diff --git a/src/core/SkMiniData.cpp b/src/core/SkMiniData.cpp deleted file mode 100644 index ded62d1687..0000000000 --- a/src/core/SkMiniData.cpp +++ /dev/null @@ -1,80 +0,0 @@ -#include "SkMiniData.h" - -namespace { - -// SkMiniData::fRep either stores a LongData* or is punned into a ShortData. -// We use the low bits to distinguish the two: all pointers from malloc are at -// least 8-byte aligned, leaving those low bits clear when it's a LongData*. - -static bool is_long(uint64_t rep) { - // Even on 32-bit machines, we require the bottom 3 bits from malloc'd pointers are clear. - // If any of those bottom 3 bits are set, it's from a ShortData's len. And if no bits are - // set anywhere, it's an empty SkMiniData, which also follows the ShortData path. - return rep && SkIsAlign8(rep); -} - -// Can be used for any length, but we always use it for >=8. -struct LongData { - size_t len; - uint8_t data[8]; // There are actually len >= 8 bytes here. - - static uint64_t Create(const void* data, size_t len) { - SkASSERT(len > 7); - LongData* s = (LongData*)sk_malloc_throw(sizeof(size_t) + len); - s->len = len; - memcpy(s->data, data, len); - - uint64_t rep = reinterpret_cast<uint64_t>(s); - SkASSERT(is_long(rep)); - return rep; - } -}; - -// At most 7 bytes fit, but never mallocs. -struct ShortData { - // Order matters here. len must align with the least signficant bits of a pointer. -#ifdef SK_CPU_LENDIAN - uint8_t len; - uint8_t data[7]; -#else // Warning! Only the little-endian path has been tested. - uint8_t data[7]; - uint8_t len; -#endif - - static uint64_t Create(const void* data, size_t len) { - SkASSERT(len <= 7); -#ifdef SK_CPU_LENDIAN - ShortData s = { (uint8_t)len, {0, 0, 0, 0, 0, 0, 0} }; -#else // Warning! Only the little-endian path has been tested. - ShortData s = { {0, 0, 0, 0, 0, 0, 0}, (uint8_t)len }; -#endif - memcpy(s.data, data, len); - return *reinterpret_cast<uint64_t*>(&s); - } -}; - -} // namespace - -SkMiniData::SkMiniData(const void* data, size_t len) - : fRep(len <= 7 ? ShortData::Create(data, len) - : LongData::Create(data, len)) {} - -SkMiniData::SkMiniData(const SkMiniData& s) - : fRep(s.len() <= 7 ? ShortData::Create(s.data(), s.len()) - : LongData::Create(s.data(), s.len())) {} - -SkMiniData::~SkMiniData() { - if (is_long(fRep)) { - sk_free(reinterpret_cast<void*>(fRep)); - } -} - -const void* SkMiniData::data() const { - return is_long(fRep) ? reinterpret_cast<const LongData*>( fRep)->data - : reinterpret_cast<const ShortData*>(&fRep)->data; -} - -size_t SkMiniData::len() const { - return is_long(fRep) ? reinterpret_cast<const LongData*>( fRep)->len - : reinterpret_cast<const ShortData*>(&fRep)->len; -} diff --git a/src/core/SkMiniData.h b/src/core/SkMiniData.h deleted file mode 100644 index fd22cea9ca..0000000000 --- a/src/core/SkMiniData.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef SkMiniData_DEFINED -#define SkMiniData_DEFINED - -// A class that can store any immutable byte string, -// but optimized to store <=7 bytes. - -#include "SkTypes.h" - -class SkMiniData { -public: - SkMiniData(const void*, size_t); - SkMiniData(const SkMiniData&); - ~SkMiniData(); - - const void* data() const; - size_t len() const; - -private: - SkMiniData& operator=(const SkMiniData&); - - const uint64_t fRep; -}; - -#endif//SkMiniData_DEFINED diff --git a/src/core/SkSinTable.h b/src/core/SkSinTable.h deleted file mode 100644 index ac26b9e59b..0000000000 --- a/src/core/SkSinTable.h +++ /dev/null @@ -1,277 +0,0 @@ - -/* - * Copyright 2006 The Android Open Source Project - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - - -#ifndef SkSinTable_DEFINED -#define SkSinTable_DEFINED - -#include "SkTypes.h" - -/* Fixed point values (low 16 bits) of sin(radians) for - radians in [0...PI/2) -*/ -static const uint16_t gSkSinTable[256] = { - 0x0000, - 0x0192, - 0x0324, - 0x04B6, - 0x0648, - 0x07DA, - 0x096C, - 0x0AFE, - 0x0C8F, - 0x0E21, - 0x0FB2, - 0x1144, - 0x12D5, - 0x1466, - 0x15F6, - 0x1787, - 0x1917, - 0x1AA7, - 0x1C37, - 0x1DC7, - 0x1F56, - 0x20E5, - 0x2273, - 0x2402, - 0x2590, - 0x271D, - 0x28AA, - 0x2A37, - 0x2BC4, - 0x2D50, - 0x2EDB, - 0x3066, - 0x31F1, - 0x337B, - 0x3505, - 0x368E, - 0x3817, - 0x399F, - 0x3B26, - 0x3CAD, - 0x3E33, - 0x3FB9, - 0x413E, - 0x42C3, - 0x4447, - 0x45CA, - 0x474D, - 0x48CE, - 0x4A50, - 0x4BD0, - 0x4D50, - 0x4ECF, - 0x504D, - 0x51CA, - 0x5347, - 0x54C3, - 0x563E, - 0x57B8, - 0x5931, - 0x5AAA, - 0x5C22, - 0x5D98, - 0x5F0E, - 0x6083, - 0x61F7, - 0x636A, - 0x64DC, - 0x664D, - 0x67BD, - 0x692D, - 0x6A9B, - 0x6C08, - 0x6D74, - 0x6EDF, - 0x7049, - 0x71B1, - 0x7319, - 0x7480, - 0x75E5, - 0x774A, - 0x78AD, - 0x7A0F, - 0x7B70, - 0x7CD0, - 0x7E2E, - 0x7F8B, - 0x80E7, - 0x8242, - 0x839C, - 0x84F4, - 0x864B, - 0x87A1, - 0x88F5, - 0x8A48, - 0x8B9A, - 0x8CEA, - 0x8E39, - 0x8F87, - 0x90D3, - 0x921E, - 0x9368, - 0x94B0, - 0x95F6, - 0x973C, - 0x987F, - 0x99C2, - 0x9B02, - 0x9C42, - 0x9D7F, - 0x9EBC, - 0x9FF6, - 0xA12F, - 0xA267, - 0xA39D, - 0xA4D2, - 0xA605, - 0xA736, - 0xA866, - 0xA994, - 0xAAC0, - 0xABEB, - 0xAD14, - 0xAE3B, - 0xAF61, - 0xB085, - 0xB1A8, - 0xB2C8, - 0xB3E7, - 0xB504, - 0xB620, - 0xB73A, - 0xB852, - 0xB968, - 0xBA7C, - 0xBB8F, - 0xBCA0, - 0xBDAE, - 0xBEBC, - 0xBFC7, - 0xC0D0, - 0xC1D8, - 0xC2DE, - 0xC3E2, - 0xC4E3, - 0xC5E4, - 0xC6E2, - 0xC7DE, - 0xC8D8, - 0xC9D1, - 0xCAC7, - 0xCBBB, - 0xCCAE, - 0xCD9F, - 0xCE8D, - 0xCF7A, - 0xD064, - 0xD14D, - 0xD233, - 0xD318, - 0xD3FA, - 0xD4DB, - 0xD5B9, - 0xD695, - 0xD770, - 0xD848, - 0xD91E, - 0xD9F2, - 0xDAC4, - 0xDB94, - 0xDC61, - 0xDD2D, - 0xDDF6, - 0xDEBE, - 0xDF83, - 0xE046, - 0xE106, - 0xE1C5, - 0xE282, - 0xE33C, - 0xE3F4, - 0xE4AA, - 0xE55E, - 0xE60F, - 0xE6BE, - 0xE76B, - 0xE816, - 0xE8BF, - 0xE965, - 0xEA09, - 0xEAAB, - 0xEB4B, - 0xEBE8, - 0xEC83, - 0xED1C, - 0xEDB2, - 0xEE46, - 0xEED8, - 0xEF68, - 0xEFF5, - 0xF080, - 0xF109, - 0xF18F, - 0xF213, - 0xF294, - 0xF314, - 0xF391, - 0xF40B, - 0xF484, - 0xF4FA, - 0xF56D, - 0xF5DE, - 0xF64D, - 0xF6BA, - 0xF724, - 0xF78B, - 0xF7F1, - 0xF853, - 0xF8B4, - 0xF912, - 0xF96E, - 0xF9C7, - 0xFA1E, - 0xFA73, - 0xFAC5, - 0xFB14, - 0xFB61, - 0xFBAC, - 0xFBF5, - 0xFC3B, - 0xFC7E, - 0xFCBF, - 0xFCFE, - 0xFD3A, - 0xFD74, - 0xFDAB, - 0xFDE0, - 0xFE13, - 0xFE43, - 0xFE70, - 0xFE9B, - 0xFEC4, - 0xFEEA, - 0xFF0E, - 0xFF2F, - 0xFF4E, - 0xFF6A, - 0xFF84, - 0xFF9C, - 0xFFB1, - 0xFFC3, - 0xFFD3, - 0xFFE1, - 0xFFEC, - 0xFFF4, - 0xFFFB, - 0xFFFE -}; - -#endif |