Commit 00d899507c3dfa022d594342f450870e08aa1e59

Alexei Podtelezhnikov 2015-08-16T22:57:34

[base] Reoptimize aritmetic. * src/base/ftcalc.c (FT_MulDiv, FT_MulFix) [!FT_LONG64]: Remove special cases that slow down the general use.

diff --git a/ChangeLog b/ChangeLog
index 89249f3..f9eb59e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-08-16  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[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  <ibemad@gmail.com>
 
 	Fix C++ compilation (#45762).
diff --git a/src/base/ftcalc.c b/src/base/ftcalc.c
index 08e428b..01aead5 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 );