remove SK_CAN_USE_FLOAT (deprecated)

git-svn-id: http://skia.googlecode.com/svn/trunk@4232 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
reed@google.com 2012-06-11 21:21:26 +00:00
parent a0116d541d
commit 7886ad3de1
30 changed files with 18 additions and 204 deletions

View File

@ -45,13 +45,6 @@
//#define SK_SCALAR_IS_FIXED
/* Somewhat independent of how SkScalar is implemented, Skia also wants to know
if it can use floats at all. Naturally, if SK_SCALAR_IS_FLOAT is defined,
SK_CAN_USE_FLOAT must be too; but if scalars are fixed, SK_CAN_USE_FLOAT
can go either way.
*/
//#define SK_CAN_USE_FLOAT
/* For some performance-critical scalar operations, skia will optionally work
around the standard float operators if it knows that the CPU does not have
native support for floats. If your environment uses software floating point,

View File

@ -30,8 +30,7 @@ typedef int32_t SkFixed;
#define SK_FixedTanPIOver8 (0x6A0A)
#define SK_FixedRoot2Over2 (0xB505)
#ifdef SK_CAN_USE_FLOAT
#define SkFixedToFloat(x) ((x) * 1.5258789e-5f)
#define SkFixedToFloat(x) ((x) * 1.5258789e-5f)
#if 1
#define SkFloatToFixed(x) ((SkFixed)((x) * SK_Fixed1))
#else
@ -42,9 +41,8 @@ typedef int32_t SkFixed;
}
#endif
#define SkFixedToDouble(x) ((x) * 1.5258789e-5)
#define SkDoubleToFixed(x) ((SkFixed)((x) * SK_Fixed1))
#endif
#define SkFixedToDouble(x) ((x) * 1.5258789e-5)
#define SkDoubleToFixed(x) ((SkFixed)((x) * SK_Fixed1))
/** 32 bit signed integer used to represent fractions values with 30 bits to the right of the decimal point
*/
@ -53,10 +51,8 @@ typedef int32_t SkFract;
#define Sk_FracHalf (1 << 29)
#define SK_FractPIOver180 (0x11DF46A)
#ifdef SK_CAN_USE_FLOAT
#define SkFractToFloat(x) ((float)(x) * 0.00000000093132257f)
#define SkFloatToFract(x) ((SkFract)((x) * SK_Fract1))
#endif
#define SkFractToFloat(x) ((float)(x) * 0.00000000093132257f)
#define SkFloatToFract(x) ((SkFract)((x) * SK_Fract1))
/** Converts an integer to a SkFixed, asserting that the result does not overflow
a 32 bit signed integer

View File

@ -57,8 +57,6 @@ SK_API int32_t SkFloatBits_toIntRound(int32_t floatBits);
SK_API int32_t SkFloatBits_toIntCeil(int32_t floatBits);
#ifdef SK_CAN_USE_FLOAT
union SkFloatIntUnion {
float fFloat;
int32_t fSignBitInt;
@ -127,8 +125,6 @@ static inline int32_t SkFloatToIntCeil(float x) {
return SkFloatBits_toIntCeil(SkFloat2Bits(x));
}
#endif
// Scalar wrappers for float-bit routines
#ifdef SK_SCALAR_IS_FLOAT

View File

@ -12,8 +12,6 @@
#include "SkTypes.h"
#ifdef SK_CAN_USE_FLOAT
#include <math.h>
#include <float.h>
#include "SkFloatBits.h"
@ -89,4 +87,3 @@ static inline float sk_float_copysign(float x, float y) {
#endif
#endif
#endif

View File

@ -27,16 +27,7 @@
#if defined(SK_SCALAR_IS_FIXED) && defined(SK_SCALAR_IS_FLOAT)
#error "cannot define both SK_SCALAR_IS_FIXED and SK_SCALAR_IS_FLOAT"
#elif !defined(SK_SCALAR_IS_FIXED) && !defined(SK_SCALAR_IS_FLOAT)
#ifdef SK_CAN_USE_FLOAT
#define SK_SCALAR_IS_FLOAT
#else
#define SK_SCALAR_IS_FIXED
#endif
#endif
#if defined(SK_SCALAR_IS_FLOAT) && !defined(SK_CAN_USE_FLOAT)
#define SK_CAN_USE_FLOAT
// we do nothing in the else case: fixed-scalars can have floats or not
#define SK_SCALAR_IS_FLOAT
#endif
#if defined(SK_CPU_LENDIAN) && defined(SK_CPU_BENDIAN)

View File

@ -88,7 +88,6 @@
#if !defined(SK_SCALAR_IS_FLOAT) && !defined(SK_SCALAR_IS_FIXED)
#define SK_SCALAR_IS_FLOAT
#define SK_CAN_USE_FLOAT
#endif
//////////////////////////////////////////////////////////////////////

View File

@ -222,13 +222,11 @@
#define SkIntToScalar(n) SkIntToFixed(n)
#define SkFixedToScalar(x) (x)
#define SkScalarToFixed(x) (x)
#ifdef SK_CAN_USE_FLOAT
#define SkScalarToFloat(n) SkFixedToFloat(n)
#define SkFloatToScalar(n) SkFloatToFixed(n)
#define SkScalarToFloat(n) SkFixedToFloat(n)
#define SkFloatToScalar(n) SkFloatToFixed(n)
#define SkScalarToDouble(n) SkFixedToDouble(n)
#define SkDoubleToScalar(n) SkDoubleToFixed(n)
#endif
#define SkScalarToDouble(n) SkFixedToDouble(n)
#define SkDoubleToScalar(n) SkDoubleToFixed(n)
#define SkScalarFraction(x) SkFixedFraction(x)
#define SkScalarFloorToScalar(x) SkFixedFloorToFixed(x)

View File

@ -55,9 +55,7 @@ char* SkStrAppendS64(char buffer[], int64_t, int minDigits);
#define SkStrAppendScalar SkStrAppendFixed
#endif
#ifdef SK_CAN_USE_FLOAT
char* SkStrAppendFloat(char buffer[], float);
#endif
char* SkStrAppendFixed(char buffer[], SkFixed);
/** \class SkString

View File

@ -91,11 +91,7 @@ void SkAnimateBase::dump(SkAnimateMaker* maker) {
SkDebugf("to=\"%s\" ", to.c_str());
}
if (begin != 0) {
#ifdef SK_CAN_USE_FLOAT
SkDebugf("begin=\"%g\" ", SkScalarToFloat(SkScalarDiv(begin,1000)));
#else
SkDebugf("begin=\"%x\" ", SkScalarDiv(begin,1000));
#endif
}
}
#endif

View File

@ -41,15 +41,9 @@ void SkAnimate::dump(SkAnimateMaker* maker) {
SkDebugf("mirror=\"true\" ");
if (fReset)
SkDebugf("reset=\"true\" ");
#ifdef SK_CAN_USE_FLOAT
SkDebugf("dur=\"%g\" ", SkScalarToFloat(SkScalarDiv(dur,1000)));
if (repeat != SK_Scalar1)
SkDebugf("repeat=\"%g\" ", SkScalarToFloat(repeat));
#else
SkDebugf("dur=\"%x\" ", SkScalarDiv(dur,1000));
if (repeat != SK_Scalar1)
SkDebugf("repeat=\"%x\" ", repeat);
#endif
//if (fHasValues)
// SkDebugf("values=\"%s\" ", values);
if (blend.count() != 1 || blend[0] != SK_Scalar1) {
@ -59,11 +53,7 @@ void SkAnimate::dump(SkAnimateMaker* maker) {
if (!firstElem)
SkDebugf(",");
firstElem = false;
#ifdef SK_CAN_USE_FLOAT
SkDebugf("%g", SkScalarToFloat(blend[i]));
#else
SkDebugf("%x", blend[i]);
#endif
}
SkDebugf("]\" ");
}

View File

@ -39,11 +39,7 @@ SkSet::SkSet() {
void SkSet::dump(SkAnimateMaker* maker) {
INHERITED::dump(maker);
if (dur != 1) {
#ifdef SK_CAN_USE_FLOAT
SkDebugf("dur=\"%g\" ", SkScalarToFloat(SkScalarDiv(dur,1000)));
#else
SkDebugf("dur=\"%x\" ", SkScalarDiv(dur,1000));
#endif
}
//don't want double />\n's
SkDebugf("/>\n");

View File

@ -104,11 +104,7 @@ void SkDisplayEvent::dumpEvent(SkAnimateMaker* maker) {
SkDebugf("target=\"%s\" ", fTarget->id);
}
if (kind >= SkDisplayEvent::kMouseDown && kind <= SkDisplayEvent::kMouseUp) {
#ifdef SK_CAN_USE_FLOAT
SkDebugf("x=\"%g\" y=\"%g\" ", SkScalarToFloat(x), SkScalarToFloat(y));
#else
SkDebugf("x=\"%x\" y=\"%x\" ", x, y);
#endif
}
if (disable)
SkDebugf("disable=\"true\" ");

View File

@ -76,11 +76,7 @@ void SkPost::dump(SkAnimateMaker* maker) {
delete eventType;
if (delay > 0) {
#ifdef SK_CAN_USE_FLOAT
SkDebugf("delay=\"%g\" ", SkScalarToFloat(SkScalarDiv(delay, 1000)));
#else
SkDebugf("delay=\"%x\" ", SkScalarDiv(delay, 1000));
#endif
}
// if (initialized == false)
// SkDebugf("(uninitialized) ");
@ -131,11 +127,7 @@ void SkPost::dump(SkAnimateMaker* maker) {
case SkMetaData::kScalar_Type: {
SkScalar scalar;
meta.findScalar(name, &scalar);
#ifdef SK_CAN_USE_FLOAT
SkDebugf("float=\"%g\" ", SkScalarToFloat(scalar));
#else
SkDebugf("float=\"%x\" ", scalar);
#endif
} break;
case SkMetaData::kString_Type:
SkDebugf("string=\"%s\" ", meta.findString(name));

View File

@ -35,15 +35,9 @@ SkDisplayRandom::SkDisplayRandom() : blend(0), min(0), max(SK_Scalar1) {
#ifdef SK_DUMP_ENABLED
void SkDisplayRandom::dump(SkAnimateMaker* maker) {
dumpBase(maker);
#ifdef SK_CAN_USE_FLOAT
SkDebugf("min=\"%g\" ", SkScalarToFloat(min));
SkDebugf("max=\"%g\" ", SkScalarToFloat(max));
SkDebugf("blend=\"%g\" ", SkScalarToFloat(blend));
#else
SkDebugf("min=\"%x\" ", min);
SkDebugf("max=\"%x\" ", max);
SkDebugf("blend=\"%x\" ", blend);
#endif
SkDebugf("/>\n");
}
#endif

View File

@ -14,9 +14,7 @@
#include "SkScalar.h"
#ifdef SK_DEBUG
#ifdef SK_CAN_USE_FLOAT
#define SK_DUMP_ENABLED
#endif
#define SK_DUMP_ENABLED
#ifdef SK_BUILD_FOR_MAC
#define SK_FIND_LEAKS
#endif

View File

@ -81,11 +81,7 @@ SkDisplayFloat::SkDisplayFloat() : value(0) {
#ifdef SK_DUMP_ENABLED
void SkDisplayFloat::dump(SkAnimateMaker* maker) {
dumpBase(maker);
#ifdef SK_CAN_USE_FLOAT
SkDebugf("value=\"%g\" />\n", SkScalarToFloat(value));
#else
SkDebugf("value=\"%x\" />\n", value);
#endif
}
#endif

View File

@ -205,11 +205,7 @@ void SkDisplayable::dumpAttrs(SkAnimateMaker* maker) {
SkDebugf("%d", op->fS32);
break;
case SkType_Float:
#ifdef SK_CAN_USE_FLOAT
SkDebugf("%g", SkScalarToFloat(op->fScalar));
#else
SkDebugf("%x", op->fScalar);
#endif
break;
case SkType_String:
case SkType_DynamicString:
@ -311,11 +307,7 @@ void SkDisplayable::dumpValues(const SkMemberInfo* info, SkDisplayTypes type, Sk
//should make this a separate case in dump attrs, rather than make dump values have a larger signature
case SkType_Point:
if (op.fScalar != blankOp.fScalar || op2.fScalar != blankOp.fScalar) {
#ifdef SK_CAN_USE_FLOAT
SkDebugf("%s=\"[%g,%g]\" ", info->fName, SkScalarToFloat(op.fScalar), SkScalarToFloat(op2.fScalar));
#else
SkDebugf("%s=\"[%x,%x]\" ", info->fName, op.fScalar, op2.fScalar);
#endif
}
break;
case SkType_FromPathMode:
@ -375,11 +367,7 @@ void SkDisplayable::dumpValues(const SkMemberInfo* info, SkDisplayTypes type, Sk
break;
case SkType_Float:
if (op.fScalar != blankOp.fScalar) { //or /65536?
#ifdef SK_CAN_USE_FLOAT
SkDebugf("%s=\"%g\" ", info->fName, SkScalarToFloat(op.fScalar));
#else
SkDebugf("%s=\"%x\" ", info->fName, op.fScalar);
#endif
}
break;
case SkType_String:
@ -389,11 +377,7 @@ void SkDisplayable::dumpValues(const SkMemberInfo* info, SkDisplayTypes type, Sk
break;
case SkType_MSec:
if (op.fS32 != blankOp.fS32) {
#ifdef SK_CAN_USE_FLOAT
SkDebugf(" %s=\"%g\" ", info->fName, SkScalarToFloat(SkScalarDiv(op.fS32, 1000)));
#else
SkDebugf(" %s=\"%x\" ", info->fName, SkScalarDiv(op.fS32, 1000));
#endif
}
default:
SkDebugf("");

View File

@ -1644,9 +1644,7 @@ bool SkScriptEngine::ValueToString(SkScriptValue value, SkString* string) {
#ifdef SK_SUPPORT_UNITTEST
#ifdef SK_CAN_USE_FLOAT
#include "SkFloatingPoint.h"
#endif
#include "SkFloatingPoint.h"
#define DEF_SCALAR_ANSWER 0
#define DEF_STRING_ANSWER NULL
@ -1656,10 +1654,8 @@ bool SkScriptEngine::ValueToString(SkScriptValue value, SkString* string) {
#define testScalar(expression) { #expression, SkType_Float, 0, (float) expression, DEF_STRING_ANSWER }
#define testRemainder(exp1, exp2) { #exp1 "%" #exp2, SkType_Float, 0, sk_float_mod(exp1, exp2), DEF_STRING_ANSWER }
#else
#ifdef SK_CAN_USE_FLOAT
#define testScalar(expression) { #expression, SkType_Float, 0, (int) ((expression) * 65536.0f), DEF_STRING_ANSWER }
#define testRemainder(exp1, exp2) { #exp1 "%" #exp2, SkType_Float, 0, (int) (sk_float_mod(exp1, exp2) * 65536.0f), DEF_STRING_ANSWER }
#endif
#define testScalar(expression) { #expression, SkType_Float, 0, (int) ((expression) * 65536.0f), DEF_STRING_ANSWER }
#define testRemainder(exp1, exp2) { #exp1 "%" #exp2, SkType_Float, 0, (int) (sk_float_mod(exp1, exp2) * 65536.0f), DEF_STRING_ANSWER }
#endif
#define testTrue(expression) { #expression, SkType_Int, 1, DEF_SCALAR_ANSWER, DEF_STRING_ANSWER }
#define testFalse(expression) { #expression, SkType_Int, 0, DEF_SCALAR_ANSWER, DEF_STRING_ANSWER }
@ -1669,7 +1665,6 @@ static const SkScriptNAnswer scriptTests[] = {
testInt((6+7)*8),
testInt(0&&1?2:3),
testInt(3*(4+5)),
#ifdef SK_CAN_USE_FLOAT
testScalar(1.0+2.0),
testScalar(1.0+5),
testScalar(3.0-1.0),
@ -1689,7 +1684,6 @@ static const SkScriptNAnswer scriptTests[] = {
testFalse(-9!=-9.0),
testFalse(-9.!=-4.0-5),
testFalse(-9.*1!=-4-5),
#endif
testInt(0x123),
testInt(0XABC),
testInt(0xdeadBEEF),
@ -1740,7 +1734,6 @@ static const SkScriptNAnswer scriptTests[] = {
testInt(2!=2),
testInt(2!=11),
testInt(20!=11),
#ifdef SK_CAN_USE_FLOAT
// left int, right scalar
testInt(2<2.),
testInt(2<11.),
@ -1797,7 +1790,6 @@ static const SkScriptNAnswer scriptTests[] = {
testInt(2.!=2.),
testInt(2.!=11.),
testInt(20.!=11.),
#endif
// int, string (string is int)
testFalse(2<'2'),
testTrue(2<'11'),
@ -1821,7 +1813,6 @@ static const SkScriptNAnswer scriptTests[] = {
testFalse(20<'11.'),
testTrue(2=='2.'),
testFalse(2=='11.'),
#ifdef SK_CAN_USE_FLOAT
// scalar, string
testFalse(2.<'2.'),
testTrue(2.<'11.'),
@ -1840,7 +1831,6 @@ static const SkScriptNAnswer scriptTests[] = {
testFalse('20'<11.),
testTrue('2'==2.),
testFalse('2'==11.),
#endif
// string, string
testFalse('2'<'2'),
testFalse('2'<'11'),
@ -1873,9 +1863,7 @@ static const SkScriptNAnswer scriptTests[] = {
testInt(0?2:3?4:5),
testInt(1?0:3?4:5),
testInt(0?0:3?4:5)
#ifdef SK_CAN_USE_FLOAT
, { "123.5", SkType_Float, 0, SkIntToScalar(123) + SK_Scalar1/2, DEF_STRING_ANSWER }
#endif
};
#define SkScriptNAnswer_testCount SK_ARRAY_COUNT(scriptTests)

View File

@ -155,11 +155,7 @@ void SkScriptEngine2::decompile(const unsigned char* start, size_t length) {
SkScalar scalar;
memcpy(&scalar, opCode, sizeof(scalar));
opCode += sizeof(SkScalar);
#ifdef SK_CAN_USE_FLOAT
SkDebugf(" scalar: %g", SkScalarToFloat(scalar));
#else
SkDebugf(" scalar: %x", scalar);
#endif
} break;
case SkScriptEngine2::kStringAccumulator:
case SkScriptEngine2::kStringOperand: {

View File

@ -1279,23 +1279,18 @@ bool SkScriptEngine2::ValueToString(const SkScriptValue2& value, SkString* strin
#define testScalar(expression) { #expression, SkOperand2::kScalar, 0, (float) expression, NULL }
#define testRemainder(exp1, exp2) { #exp1 "%" #exp2, SkOperand2::kScalar, 0, fmodf(exp1, exp2), NULL }
#else
#ifdef SK_CAN_USE_FLOAT
#define testScalar(expression) { #expression, SkOperand2::kScalar, 0, (int) ((expression) * 65536.0f), NULL }
#define testRemainder(exp1, exp2) { #exp1 "%" #exp2, SkOperand2::kScalar, 0, (int) (fmod(exp1, exp2) * 65536.0f), NULL }
#endif
#endif
#define testTrue(expression) { #expression, SkOperand2::kS32, 1, 0, NULL }
#define testFalse(expression) { #expression, SkOperand2::kS32, 0, 0, NULL }
static const SkScriptNAnswer2 scriptTests[] = {
testInt(1||(0&&3)),
#ifdef SK_CAN_USE_FLOAT
testScalar(- -5.5- -1.5),
testScalar(1.0+5),
#endif
testInt((6+7)*8),
testInt(3*(4+5)),
#ifdef SK_CAN_USE_FLOAT
testScalar(1.0+2.0),
testScalar(3.0-1.0),
testScalar(6-1.0),
@ -1313,7 +1308,6 @@ static const SkScriptNAnswer2 scriptTests[] = {
testFalse(-9!=-9.0),
testFalse(-9.!=-4.0-5),
testFalse(-9.*1!=-4-5),
#endif
testInt(0x123),
testInt(0XABC),
testInt(0xdeadBEEF),
@ -1364,7 +1358,6 @@ static const SkScriptNAnswer2 scriptTests[] = {
testInt(2!=2),
testInt(2!=11),
testInt(20!=11),
#ifdef SK_CAN_USE_FLOAT
// left int, right scalar
testInt(2<2.),
testInt(2<11.),
@ -1421,7 +1414,6 @@ static const SkScriptNAnswer2 scriptTests[] = {
testInt(2.!=2.),
testInt(2.!=11.),
testInt(20.!=11.),
#endif
// int, string (string is int)
testFalse(2<'2'),
testTrue(2<'11'),
@ -1445,7 +1437,6 @@ static const SkScriptNAnswer2 scriptTests[] = {
testFalse(20<'11.'),
testTrue(2=='2.'),
testFalse(2=='11.'),
#ifdef SK_CAN_USE_FLOAT
// scalar, string
testFalse(2.<'2.'),
testTrue(2.<'11.'),
@ -1464,7 +1455,6 @@ static const SkScriptNAnswer2 scriptTests[] = {
testFalse('20'<11.),
testTrue('2'==2.),
testFalse('2'==11.),
#endif
// string, string
testFalse('2'<'2'),
testFalse('2'<'11'),
@ -1481,9 +1471,7 @@ static const SkScriptNAnswer2 scriptTests[] = {
testInt(0||(0&&3)),
testInt(0||(1&&3)),
testInt(0&&1?2:3)
#ifdef SK_CAN_USE_FLOAT
, { "123.5", SkOperand2::kScalar, 0, SkIntToScalar(123) + SK_Scalar1/2, NULL }
#endif
};
#define SkScriptNAnswer_testCount SK_ARRAY_COUNT(scriptTests)
@ -1507,10 +1495,8 @@ void SkScriptEngine2::UnitTest() {
break;
case SkOperand2::kScalar:
error = SkScalarAbs(value.fOperand.fScalar - scriptTests[index].fScalarAnswer);
#ifdef SK_CAN_USE_FLOAT
if (error >= SK_Scalar1 / 10000)
SkDEBUGF(("script '%s' == value %g != expected answer %g\n", script, value.fOperand.fScalar / (1.0f * SK_Scalar1), scriptTests[index].fScalarAnswer / (1.0f * SK_Scalar1)));
#endif
SkASSERT(error < SK_Scalar1 / 10000);
break;
case SkOperand2::kString:

View File

@ -197,13 +197,11 @@ SkFixed SkCordicExp(SkFixed a) {
#ifdef SK_DEBUG
#ifdef SK_CAN_USE_FLOAT
#include "SkFloatingPoint.h"
#endif
#include "SkFloatingPoint.h"
void SkCordic_UnitTest()
{
#if defined(SK_SUPPORT_UNITTEST) && defined(SK_CAN_USE_FLOAT)
#if defined(SK_SUPPORT_UNITTEST)
float val;
for (float angle = -720; angle < 720; angle += 30) {
float radian = angle * 3.1415925358f / 180.0f;

View File

@ -43,11 +43,7 @@ struct SkEdge {
#ifdef SK_DEBUG
void dump() const {
#ifdef SK_CAN_USE_FLOAT
SkDebugf("edge: firstY:%d lastY:%d x:%g dx:%g w:%d\n", fFirstY, fLastY, SkFixedToFloat(fX), SkFixedToFloat(fDX), fWinding);
#else
SkDebugf("edge: firstY:%d lastY:%d x:%x dx:%x w:%d\n", fFirstY, fLastY, fX, fDX, fWinding);
#endif
}
void validate() const {

View File

@ -268,9 +268,7 @@ int SkFloat::Cmp(int32_t packed_a, int32_t packed_b)
#ifdef SK_DEBUG
#include "SkRandom.h"
#ifdef SK_CAN_USE_FLOAT
#include "SkFloatingPoint.h"
#endif
#include "SkFloatingPoint.h"
void SkFloat::UnitTest()
{
@ -295,7 +293,6 @@ void SkFloat::UnitTest()
SkRandom rand;
#ifdef SK_CAN_USE_FLOAT
int i;
for (i = 0; i < 1000; i++)
{
@ -391,7 +388,6 @@ void SkFloat::UnitTest()
#endif
}
#endif
#endif
}
#endif

View File

@ -152,8 +152,6 @@ int32_t SkFloatBits_toIntCeil(int32_t packed) {
}
}
#ifdef SK_CAN_USE_FLOAT
float SkIntToFloatCast(int32_t value) {
if (0 == value) {
return 0;
@ -207,4 +205,3 @@ float SkIntToFloatCast_NoOverflowCheck(int32_t value) {
return data.fFloat;
}
#endif

View File

@ -1760,7 +1760,6 @@ void SkMatrix::dump() const {
}
void SkMatrix::toDumpString(SkString* str) const {
#ifdef SK_CAN_USE_FLOAT
str->printf("[%8.4f %8.4f %8.4f][%8.4f %8.4f %8.4f][%8.4f %8.4f %8.4f]",
#ifdef SK_SCALAR_IS_FLOAT
fMat[0], fMat[1], fMat[2], fMat[3], fMat[4], fMat[5],
@ -1770,9 +1769,4 @@ void SkMatrix::toDumpString(SkString* str) const {
SkFixedToFloat(fMat[3]), SkFixedToFloat(fMat[4]), SkFixedToFloat(fMat[5]),
SkFractToFloat(fMat[6]), SkFractToFloat(fMat[7]), SkFractToFloat(fMat[8]));
#endif
#else // can't use float
str->printf("[%x %x %x][%x %x %x][%x %x %x]",
fMat[0], fMat[1], fMat[2], fMat[3], fMat[4], fMat[5],
fMat[6], fMat[7], fMat[8]);
#endif
}

View File

@ -1738,42 +1738,23 @@ void SkPath::dump(bool forceClose, const char title[]) const {
while ((verb = iter.next(pts, false)) != kDone_Verb) {
switch (verb) {
case kMove_Verb:
#ifdef SK_CAN_USE_FLOAT
SkDebugf(" path: moveTo [%g %g]\n",
SkScalarToFloat(pts[0].fX), SkScalarToFloat(pts[0].fY));
#else
SkDebugf(" path: moveTo [%x %x]\n", pts[0].fX, pts[0].fY);
#endif
break;
case kLine_Verb:
#ifdef SK_CAN_USE_FLOAT
SkDebugf(" path: lineTo [%g %g]\n",
SkScalarToFloat(pts[1].fX), SkScalarToFloat(pts[1].fY));
#else
SkDebugf(" path: lineTo [%x %x]\n", pts[1].fX, pts[1].fY);
#endif
break;
case kQuad_Verb:
#ifdef SK_CAN_USE_FLOAT
SkDebugf(" path: quadTo [%g %g] [%g %g]\n",
SkScalarToFloat(pts[1].fX), SkScalarToFloat(pts[1].fY),
SkScalarToFloat(pts[2].fX), SkScalarToFloat(pts[2].fY));
#else
SkDebugf(" path: quadTo [%x %x] [%x %x]\n",
pts[1].fX, pts[1].fY, pts[2].fX, pts[2].fY);
#endif
break;
case kCubic_Verb:
#ifdef SK_CAN_USE_FLOAT
SkDebugf(" path: cubeTo [%g %g] [%g %g] [%g %g]\n",
SkScalarToFloat(pts[1].fX), SkScalarToFloat(pts[1].fY),
SkScalarToFloat(pts[2].fX), SkScalarToFloat(pts[2].fY),
SkScalarToFloat(pts[3].fX), SkScalarToFloat(pts[3].fY));
#else
SkDebugf(" path: cubeTo [%x %x] [%x %x] [%x %x]\n",
pts[1].fX, pts[1].fY, pts[2].fX, pts[2].fY,
pts[3].fX, pts[3].fY);
#endif
break;
case kClose_Verb:
SkDebugf(" path: close\n");

View File

@ -123,7 +123,6 @@ char* SkStrAppendS64(char string[], int64_t dec, int minDigits) {
return string;
}
#ifdef SK_CAN_USE_FLOAT
char* SkStrAppendFloat(char string[], float value) {
// since floats have at most 8 significant digits, we limit our %g to that.
static const char gFormat[] = "%.8g";
@ -134,7 +133,6 @@ char* SkStrAppendFloat(char string[], float value) {
SkASSERT(len <= SkStrAppendScalar_MaxSize);
return string + len;
}
#endif
char* SkStrAppendFixed(char string[], SkFixed x) {
SkDEBUGCODE(char* start = string;)

View File

@ -163,7 +163,6 @@ static int symmetric_fixmul(int a, int b) {
static void check_length(skiatest::Reporter* reporter,
const SkPoint& p, SkScalar targetLen) {
#ifdef SK_CAN_USE_FLOAT
float x = SkScalarToFloat(p.fX);
float y = SkScalarToFloat(p.fY);
float len = sk_float_sqrt(x*x + y*y);
@ -171,11 +170,8 @@ static void check_length(skiatest::Reporter* reporter,
len /= SkScalarToFloat(targetLen);
REPORTER_ASSERT(reporter, len > 0.999f && len < 1.001f);
#endif
}
#if defined(SK_CAN_USE_FLOAT)
static float nextFloat(SkRandom& rand) {
SkFloatIntUnion data;
data.fSignBitInt = rand.nextU();
@ -314,10 +310,7 @@ static void unittest_isfinite(skiatest::Reporter* reporter) {
REPORTER_ASSERT(reporter, SkScalarIsFinite(0));
}
#endif
static void test_muldiv255(skiatest::Reporter* reporter) {
#ifdef SK_CAN_USE_FLOAT
for (int a = 0; a <= 255; a++) {
for (int b = 0; b <= 255; b++) {
int ab = a * b;
@ -336,7 +329,6 @@ static void test_muldiv255(skiatest::Reporter* reporter) {
REPORTER_ASSERT(reporter, iround <= b);
}
}
#endif
}
static void test_muldiv255ceiling(skiatest::Reporter* reporter) {
@ -368,12 +360,10 @@ static void test_copysign(skiatest::Reporter* reporter) {
for (size_t i = 0; i < SK_ARRAY_COUNT(gTriples); i += 3) {
REPORTER_ASSERT(reporter,
SkCopySign32(gTriples[i], gTriples[i+1]) == gTriples[i+2]);
#ifdef SK_CAN_USE_FLOAT
float x = (float)gTriples[i];
float y = (float)gTriples[i+1];
float expected = (float)gTriples[i+2];
REPORTER_ASSERT(reporter, sk_float_copysign(x, y) == expected);
#endif
}
SkRandom rand;
@ -481,10 +471,8 @@ static void TestMath(skiatest::Reporter* reporter) {
REPORTER_ASSERT(reporter, result == 1);
}
#ifdef SK_CAN_USE_FLOAT
unittest_fastfloat(reporter);
unittest_isfinite(reporter);
#endif
#ifdef SkLONGLONG
for (i = 0; i < 10000; i++) {
@ -527,7 +515,6 @@ static void TestMath(skiatest::Reporter* reporter) {
r2 = SkFixedSquare(numer);
REPORTER_ASSERT(reporter, result == r2);
#ifdef SK_CAN_USE_FLOAT
if (numer >= 0 && denom >= 0) {
SkFixed mean = SkFixedMean(numer, denom);
float prod = SkFixedToFloat(numer) * SkFixedToFloat(denom);
@ -547,11 +534,9 @@ static void TestMath(skiatest::Reporter* reporter) {
int diff = SkAbs32(mod - SkFloatToFixed(m));
REPORTER_ASSERT(reporter, (diff >> 7) == 0);
}
#endif
}
#endif
#ifdef SK_CAN_USE_FLOAT
for (i = 0; i < 10000; i++) {
SkFract x = rand.nextU() >> 1;
double xx = (double)x / SK_Fract1;
@ -571,9 +556,8 @@ static void TestMath(skiatest::Reporter* reporter) {
check = (int32_t)sqrt(xx);
REPORTER_ASSERT(reporter, xr == check || xr == check-1);
}
#endif
#if !defined(SK_SCALAR_IS_FLOAT) && defined(SK_CAN_USE_FLOAT)
#if !defined(SK_SCALAR_IS_FLOAT)
{
SkFixed s, c;
s = SkFixedSinCos(0, &c);
@ -605,9 +589,7 @@ static void TestMath(skiatest::Reporter* reporter) {
test_blend(reporter);
#endif
#ifdef SK_CAN_USE_FLOAT
test_floor(reporter);
#endif
// disable for now
if (false) test_blend31(); // avoid bit rot, suppress warning

View File

@ -12,8 +12,6 @@
#include "SkRandom.h"
#include "SkRect.h"
#ifdef SK_CAN_USE_FLOAT
struct PointSet {
const SkPoint* fPts;
size_t fCount;
@ -94,8 +92,6 @@ static bool isFinite2_mulzeroadd(float x, float y, IsFiniteProc1 proc) {
// return true if both floats are finite
typedef bool (*IsFiniteProc2)(float, float, IsFiniteProc1);
#endif
enum FloatClass {
kFinite,
kInfinite,
@ -118,7 +114,6 @@ static void test_floatclass(skiatest::Reporter* reporter, float value, FloatClas
#endif
static void test_isfinite(skiatest::Reporter* reporter) {
#ifdef SK_CAN_USE_FLOAT
struct Rec {
float fValue;
bool fIsFinite;
@ -186,7 +181,6 @@ static void test_isfinite(skiatest::Reporter* reporter) {
}
test_isRectFinite(reporter);
#endif
}
#if defined _WIN32

View File

@ -167,7 +167,6 @@ static void TestSk64(skiatest::Reporter* reporter) {
REPORTER_ASSERT(reporter, check == w);
#ifdef SK_CAN_USE_FLOAT
wide.setMul(rand.nextS(), rand.nextS());
wide.abs();
denom = wide.getSqrt();
@ -196,7 +195,6 @@ static void TestSk64(skiatest::Reporter* reporter) {
i, dnumer, ddenom, ddiv, dfixdiv, fixdiv);
}
REPORTER_ASSERT(reporter, SkAbs32(diff) <= 1);
#endif
}
#endif
}