Author: alanmc
Date: 2007-03-24 12:37:24 -0500 (Sat, 24 Mar 2007)
New Revision: 74941

Modified:
   trunk/mcs/class/System/System.Net/IPAddress.cs
Log:
Optimised the SwapInt and SwapLong methods

Modified: trunk/mcs/class/System/System.Net/IPAddress.cs
===================================================================
--- trunk/mcs/class/System/System.Net/IPAddress.cs      2007-03-24 17:05:40 UTC 
(rev 74940)
+++ trunk/mcs/class/System/System.Net/IPAddress.cs      2007-03-24 17:37:24 UTC 
(rev 74941)
@@ -63,25 +63,23 @@
 
                private static int SwapInt (int number)
                {
-                       byte b0 = (byte) ((number >> 24) & 0xFF);
-                       byte b1 = (byte) ((number >> 16) & 0xFF);
-                       byte b2 = (byte) ((number >> 8) & 0xFF);
-                       byte b3 = (byte) (number & 0xFF);
-                       return b0 + (b1 << 8) + (b2 << 16) + (b3 << 24);
+                       return ((number >> 24) & 0xFF)
+                               + (((number >> 16) & 0xFF) << 8)
+                               + (((number >> 8) & 0xFF) << 16)
+                               + ((number & 0xFF) << 24);
                }
 
-               private static long SwapLong (long number)
-               {
-                       byte b0 = (byte) ((number >> 56) & 0xFF);
-                       byte b1 = (byte) ((number >> 48) & 0xFF);
-                       byte b2 = (byte) ((number >> 40) & 0xFF);
-                       byte b3 = (byte) ((number >> 32) & 0xFF);
-                       byte b4 = (byte) ((number >> 24) & 0xFF);
-                       byte b5 = (byte) ((number >> 16) & 0xFF);
-                       byte b6 = (byte) ((number >> 8) & 0xFF);
-                       byte b7 = (byte) (number & 0xFF);
-                       return (long) b0 + ((long) b1 << 8) + ((long) b2 << 16) 
+ ((long) b3 << 24) + ((long) b4 << 32) + ((long) b5 << 40) + ((long) b6 << 48) 
+ ((long) b7 << 56);
-               }
+        private static long SwapLong(long number)
+        {
+            return (((number >> 56) & 0xFF)
+                + (((number >> 48) & 0xFF) << 8)
+                + (((number >> 40) & 0xFF) << 16)
+                + (((number >> 32) & 0xFF) << 24)
+                + (((number >> 24) & 0xFF) << 32)
+                + (((number >> 16) & 0xFF) << 40)
+                + (((number >> 8) & 0xFF) << 48)
+                + ((number & 0xFF) << 56));
+        }
 
                public static short HostToNetworkOrder(short host) {
                        if (!BitConverter.IsLittleEndian)

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to