2008-12-08 Rodrigo Kumpera <rkumpera@novell.com>
authorRodrigo Kumpera <kumpera@gmail.com>
Mon, 8 Dec 2008 22:22:42 +0000 (22:22 -0000)
committerRodrigo Kumpera <kumpera@gmail.com>
Mon, 8 Dec 2008 22:22:42 +0000 (22:22 -0000)
* VectorOperations.cs: Move methods from Vector2l.

* Vector2l.cs: Same.

svn path=/trunk/mcs/; revision=121047

mcs/class/Mono.Simd/Mono.Simd/Changelog
mcs/class/Mono.Simd/Mono.Simd/Vector2l.cs
mcs/class/Mono.Simd/Mono.Simd/VectorOperations.cs

index ac20883bcd5782fd868507c200f3db9c99720d1e..5477cd9377ecc06feb9c3ac37be28b5b7f55886f 100644 (file)
@@ -1,3 +1,9 @@
+2008-12-08  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * VectorOperations.cs: Move methods from Vector2l.
+
+       * Vector2l.cs: Same.
+
 2008-12-08  Rodrigo Kumpera  <rkumpera@novell.com>
 
        * VectorOperations.cs: Move methods from Vector2d.
index 704053d04cf32617c89dbe0b098ed8c52ab99412..006a536cac1ae14e0beb177955864771d0ab18f6 100644 (file)
@@ -32,8 +32,8 @@ namespace Mono.Simd
        [StructLayout(LayoutKind.Sequential, Pack = 0, Size = 16)]
        public struct Vector2l
        {
-               private long x;
-               private long y;
+               internal long x;
+               internal long y;
 
                public long X { get { return x; } set { x = value; } }
                public long Y { get { return y; } set { y = value; } }
@@ -99,36 +99,6 @@ namespace Mono.Simd
                        return new Vector2l (v1.x ^ v2.x, v1.y ^ v2.y);
                }
 
-               [Acceleration (AccelMode.SSE2)]
-               public static Vector2l UnpackLow (Vector2l v1, Vector2l v2)
-               {
-                       return new Vector2l (v1.x, v2.x);
-               }
-
-               [Acceleration (AccelMode.SSE2)]
-               public static Vector2l UnpackHigh (Vector2l v1, Vector2l v2)
-               {
-                       return new Vector2l (v1.y, v2.y);
-               }
-
-               [Acceleration (AccelMode.SSE2)]
-               public static unsafe Vector2l LogicalRightShift (Vector2l v1, int amount)
-               {
-                       return new Vector2l ((long)((ulong)(v1.x) >> amount), (long)((ulong)(v1.y) >> amount));
-               }
-
-               [Acceleration (AccelMode.SSE41)]
-               public static Vector2l CompareEqual (Vector2l v1, Vector2l v2)
-               {
-                       return new Vector2l ((long)(v1.x ==  v2.x ? -1 : 0), (long)(v1.y ==  v2.y ? -1 : 0));
-               }
-
-               [Acceleration (AccelMode.SSE42)]
-               public static Vector2l CompareGreaterThan (Vector2l v1, Vector2l v2)
-               {
-                       return new Vector2l ((long)(v1.x > v2.x ? -1 : 0), (long)(v1.y >  v2.y ? -1 : 0));
-               }
-
                [Acceleration (AccelMode.SSE1)]
                public static unsafe explicit operator Vector2d (Vector2l v)
                {
index 0b9189848f1c80127e44a037439f0de1959fbe62..a91e13a958bd8ddb89b1956ba7fd04e0423c7096 100644 (file)
@@ -60,6 +60,12 @@ namespace Mono.Simd
                        return res;
                }
 
+               [Acceleration (AccelMode.SSE2)]
+               public static unsafe Vector2l LogicalRightShift (this Vector2l v1, int amount)
+               {
+                       return new Vector2l ((long)((ulong)(v1.x) >> amount), (long)((ulong)(v1.y) >> amount));
+               }
+
                /* ==== Math operations ==== */
 
                [Acceleration (AccelMode.SSE1)]
@@ -181,6 +187,12 @@ namespace Mono.Simd
                        return res;
                }
 
+               [Acceleration (AccelMode.SSE41)]
+               public static Vector2l CompareEqual (this Vector2l v1, Vector2l v2)
+               {
+                       return new Vector2l ((long)(v1.x ==  v2.x ? -1 : 0), (long)(v1.y ==  v2.y ? -1 : 0));
+               }
+
                /*Same as a < b. */
                [Acceleration (AccelMode.SSE1)]
                public unsafe static Vector4f CompareLessThan (this Vector4f v1, Vector4f v2)
@@ -229,6 +241,12 @@ namespace Mono.Simd
                        return res;
                }
 
+               [Acceleration (AccelMode.SSE42)]
+               public static Vector2l CompareGreaterThan (this Vector2l v1, Vector2l v2)
+               {
+                       return new Vector2l ((long)(v1.x > v2.x ? -1 : 0), (long)(v1.y >  v2.y ? -1 : 0));
+               }
+
                /*Same float.IsNaN (a) || float.IsNaN (b). */
                [Acceleration (AccelMode.SSE1)]
                public unsafe static Vector4f CompareUnordered (this Vector4f v1, Vector4f v2)
@@ -394,6 +412,18 @@ namespace Mono.Simd
                        return new Vector4f (v1.y, v1.y, v1.w, v1.w);
                }
 
+               [Acceleration (AccelMode.SSE2)]
+               public static Vector2l UnpackLow (this Vector2l v1, Vector2l v2)
+               {
+                       return new Vector2l (v1.x, v2.x);
+               }
+
+               [Acceleration (AccelMode.SSE2)]
+               public static Vector2l UnpackHigh (this Vector2l v1, Vector2l v2)
+               {
+                       return new Vector2l (v1.y, v2.y);
+               }
+
                [Acceleration (AccelMode.SSE2)]
                public static unsafe Vector4f Shuffle (this Vector4f v1, ShuffleSel sel)
                {