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/core/SkMath.cpp | |
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/core/SkMath.cpp')
-rw-r--r-- | src/core/SkMath.cpp | 113 |
1 files changed, 0 insertions, 113 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; -} |