Exemplo n.º 1
0
        public static unsafe Vector2l Shuffle(this Vector2l v1, Vector2l v2, int sel)
        {
            long *p1 = (long *)&v1;
            long *p2 = (long *)&v2;

            return(new Vector2l(*(p1 + ((sel >> 0) & 0x1)), *(p2 + ((sel >> 1) & 0x1))));
        }
Exemplo n.º 2
0
	static int test_0_vector2l_one_element_ctor () {
		Vector2l a = new Vector2l (99);

		if (a.X != 99)
			return 1;
		if (a.Y != 99)
			return 2;
		return 0;
	}
Exemplo n.º 3
0
        public static unsafe long ExtractByteMask(Vector2l va)
        {
            int   res = 0;
            byte *a   = (byte *)&va;

            for (int i = 0; i < 16; ++i)
            {
                res |= (*a++ & 0x80) >> 7 << i;
            }
            return(res);
        }
Exemplo n.º 4
0
    public static int test_0_accessor_vecto2l()
    {
        Vector2l a = new Vector2l (3, 2);

        if (a.X != 3)
            return 1;
        if (a.Y != 2)
            return 2;

        a.X = 500000000000055l;
        a.Y = -12345678900l;

        if (a.X != 500000000000055l)
            return 3;
        if (a.Y != -12345678900l)
            return 4;
        return 0;
    }
Exemplo n.º 5
0
 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)));
 }
Exemplo n.º 6
0
		public static unsafe void PrefetchTemporalAllCacheLevels (Vector2l *res)
		{
		}
Exemplo n.º 7
0
		public static unsafe void PrefetchNonTemporal (Vector2l *res)
		{
		}
Exemplo n.º 8
0
		public static unsafe void StoreAligned (Vector2l *res, Vector2l val)
		{
			*res = val;
		}
Exemplo n.º 9
0
		public static void PrefetchTemporal2ndLevelCache (ref Vector2l res)
		{
		}
Exemplo n.º 10
0
 public static unsafe Vector2l LogicalRightShift(this Vector2l v1, int amount)
 {
     return(new Vector2l((long)((ulong)(v1.x) >> amount), (long)((ulong)(v1.y) >> amount)));
 }
Exemplo n.º 11
0
		public static void StoreAligned (ref Vector2l res, Vector2l val)
		{
			res = val;
		}
Exemplo n.º 12
0
 public static void PrefetchNonTemporal(ref Vector2l res)
 {
 }
Exemplo n.º 13
0
 public static Vector2l UnpackLow(Vector2l v1, Vector2l v2)
 {
     return(new Vector2l(v1.x, v2.x));
 }
Exemplo n.º 14
0
 public static void PrefetchTemporalAllCacheLevels(ref Vector2l res)
 {
 }
Exemplo n.º 15
0
 public static void PrefetchTemporal2ndLevelCache(ref Vector2l res)
 {
 }
Exemplo n.º 16
0
 public static unsafe void StoreAligned(Vector2l *res, Vector2l val)
 {
     *res = val;
 }
Exemplo n.º 17
0
 public static void StoreAligned(ref Vector2l res, Vector2l val)
 {
     res = val;
 }
Exemplo n.º 18
0
 public static Vector2l LoadAligned(ref Vector2l v)
 {
     return(v);
 }
Exemplo n.º 19
0
	public static unsafe int test_0_vector2l_and () {
		Vector2l a = new Vector2l (1, 6);
		Vector2l b = new Vector2l (3, 4);

		Vector2l c = a & b;
	
		if (c.X != 1)
			return 1;
		if (c.Y != 4)
			return 2;
		return 0;
	}
Exemplo n.º 20
0
 public static Vector2l UnpackHigh(Vector2l v1, Vector2l v2)
 {
     return(new Vector2l(v1.y, v2.y));
 }
Exemplo n.º 21
0
	public static unsafe int test_0_vector2l_sub() {
		Vector2l a = new Vector2l (1, 6);
		Vector2l b = new Vector2l (3, 4);

		Vector2l c = a - b;
	
		if (c.X != -2)
			return 1;
		if (c.Y != 2)
			return 2;
		return 0;
	}
Exemplo n.º 22
0
 public static unsafe Vector2l ShiftRightLogic(Vector2l v1, int amount)
 {
     return(new Vector2l((long)((ulong)(v1.x) >> amount), (long)((ulong)(v1.y) >> amount)));
 }
Exemplo n.º 23
0
		public static Vector2l LoadAligned (ref Vector2l v)
		{
			return v;
		}
Exemplo n.º 24
0
		public static unsafe long ExtractByteMask (Vector2l va) {
			int res = 0;
			byte *a = (byte*)&va;
			for (int i = 0; i < 16; ++i)
				res |= (*a++ & 0x80) >> 7 << i;
			return res;
		}
Exemplo n.º 25
0
		public static unsafe Vector2l LoadAligned (Vector2l *v)
		{
			return *v;
		}
Exemplo n.º 26
0
		public static unsafe Vector2l ShiftRightLogic (Vector2l v1, int amount)
		{
			return new Vector2l ((long)((ulong)(v1.x) >> amount), (long)((ulong)(v1.y) >> amount));
		}
Exemplo n.º 27
0
		public static void PrefetchTemporalAllCacheLevels (ref Vector2l res)
		{
		}
Exemplo n.º 28
0
	public static unsafe int test_0_vector2l_cmp_gt () {
		Vector2l a = new Vector2l (10, 5);
		Vector2l b = new Vector2l (-1, 5);

		Vector2l c = a.CompareGreaterThan (b);
	
		if (c.X != -1)
			return 1;
		if (c.Y != 0)
			return 2;
		return 0;
	}
Exemplo n.º 29
0
		public static void PrefetchNonTemporal (ref Vector2l res)
		{
		}
Exemplo n.º 30
0
	public static unsafe int test_0_vector2l_srl () {
		Vector2l a = new Vector2l (1, 6);

		Vector2l c = a.LogicalRightShift (1);
	
		if (c.X != 0)
			return 1;
		if (c.Y != 3)
			return 2;
		return 0;
	}
Exemplo n.º 31
0
		public static unsafe void PrefetchTemporal2ndLevelCache (Vector2l *res)
		{
		}
Exemplo n.º 32
0
	public static unsafe int test_0_vector2l_unpack_low () {
		Vector2l a = new Vector2l (1, 6);
		Vector2l b = new Vector2l (3, 4);

		Vector2l c = a.UnpackLow (b);
	
		if (c.X != 1)
			return 1;
		if (c.Y != 3)
			return 2;
		return 0;
	}
Exemplo n.º 33
0
		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));
		}
Exemplo n.º 34
0
 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)));
 }
Exemplo n.º 35
0
	public static unsafe int test_0_vector2l_cmp_eq () {
		Vector2l a = new Vector2l (0xFF,          5);
		Vector2l b = new Vector2l (0xFF000000FFL, 5);

		Vector2l c = a.CompareEqual (b);
	
		if (c.X != 0)
			return 1;
		if (c.Y != -1)
			return 2;
		return 0;
	}
Exemplo n.º 36
0
		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));
		}
Exemplo n.º 37
0
	public static unsafe int test_0_vector2l_unpack_high () {
		Vector2l a = new Vector2l (1, 6);
		Vector2l b = new Vector2l (3, 4);

		Vector2l c = a.UnpackHigh (b);
	
		if (c.X != 6)
			return 1;
		if (c.Y != 4)
			return 2;
		return 0;
	}
Exemplo n.º 38
0
		public static Vector2l UnpackLow (this Vector2l v1, Vector2l v2)
		{
			return new Vector2l (v1.x, v2.x);
		}
Exemplo n.º 39
0
	public static unsafe int test_0_vector2l_or () {
		Vector2l a = new Vector2l (1, 6);
		Vector2l b = new Vector2l (3, 4);

		Vector2l c = a | b;
	
		if (c.X != 3)
			return 1;
		if (c.Y != 6)
			return 2;
		return 0;
	}
Exemplo n.º 40
0
		public static Vector2l UnpackHigh (this Vector2l v1, Vector2l v2)
		{
			return new Vector2l (v1.y, v2.y);
		}
Exemplo n.º 41
0
	public static unsafe int test_0_vector2l_shl() {
		Vector2l a = new Vector2l (1, 6);

		Vector2l c = a << 3;
	
		if (c.X != 8)
			return 1;
		if (c.Y != 48)
			return 2;
		return 0;
	}
Exemplo n.º 42
0
		public static unsafe Vector2l Shuffle (this Vector2l v1, Vector2l v2, int sel)
		{
			long *p1 = (long*)&v1;
			long *p2 = (long*)&v2;
			return new Vector2l (*(p1 + ((sel >> 0) & 0x1)), *(p2 + ((sel >> 1) & 0x1)));
		}
Exemplo n.º 43
0
	public static unsafe int test_0_vector2l_add () {
		Vector2l a = new Vector2l (1, 2);
		Vector2l b = new Vector2l (3, 4);

		Vector2l c = a + b;
	
		if (c.X != 4)
			return 1;
		if (c.Y != 6)
			return 2;
		return 0;
	}
Exemplo n.º 44
0
 public static void SetVectorAligned(this long[] array, Vector2l val, int offset)
 {
     array [offset + 0] = val.X;
     array [offset + 1] = val.Y;
 }