diff --git a/ChangeLog b/ChangeLog index 89249f341..f9eb59ea3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2015-08-16 Alexei Podtelezhnikov + + [base] Reoptimize aritmetic. + + * src/base/ftcalc.c (FT_MulDiv, FT_MulFix) [!FT_LONG64]: Remove + special cases that slow down the general use. + 2015-08-15 pazer Fix C++ compilation (#45762). diff --git a/src/base/ftcalc.c b/src/base/ftcalc.c index 08e428ba9..01aead52e 100644 --- a/src/base/ftcalc.c +++ b/src/base/ftcalc.c @@ -437,9 +437,6 @@ /* XXX: this function does not allow 64-bit arguments */ - if ( a_ == 0 || b_ == c_ ) - return a_; - FT_MOVE_SIGN( a_, s ); FT_MOVE_SIGN( b_, s ); FT_MOVE_SIGN( c_, s ); @@ -488,9 +485,6 @@ /* XXX: this function does not allow 64-bit arguments */ - if ( a_ == 0 || b_ == c_ ) - return a_; - FT_MOVE_SIGN( a_, s ); FT_MOVE_SIGN( b_, s ); FT_MOVE_SIGN( c_, s ); @@ -546,9 +540,6 @@ FT_UInt32 a, b; - if ( a_ == 0 || b_ == 0x10000L ) - return a_; - /* * This is a clever way of converting a signed number `a' into its * absolute value (stored back into `a') and its sign. The sign is @@ -599,9 +590,6 @@ /* XXX: this function does not allow 64-bit arguments */ - if ( a_ == 0 || b_ == 0x10000L ) - return a_; - FT_MOVE_SIGN( a_, s ); FT_MOVE_SIGN( b_, s );