Exemplo n.º 1
0
        public void CanUse_GoodTargetOnly_ReturnTrue()
        {
            // arrange
            var target = new DataAndLayout <int>(new int[10], new FastAccess(new Layout(new int[] { 10 }, 0, new int[] { 1 })));

            // action
            var canUse = VectorOps.CanUse(target);

            // assert
            Assert.IsTrue(canUse);
        }
Exemplo n.º 2
0
        public void CanUse_ScalarTarget_ReturnFalse()
        {
            // arrange
            var target = new DataAndLayout <int>(new int[1], new FastAccess(new Layout(new int[] { }, 0, new int[] { })));

            // action
            var canUse = VectorOps.CanUse(target);

            // assert
            Assert.IsFalse(canUse);
        }
Exemplo n.º 3
0
        public void CanUse_TargetIsNotContinuous_ReturnFalse()
        {
            // arrange
            const int NotContinuousStride = 2;
            var       target = new DataAndLayout <int>(new int[20], new FastAccess(new Layout(new int[] { 10 }, 0, new int[] { NotContinuousStride })));

            // action
            var canUse = VectorOps.CanUse(target);

            // assert
            Assert.IsFalse(canUse);
        }
Exemplo n.º 4
0
        public void CanUse_UnSupportedType_ReturnFalse()
        {
            // arrange
            var data   = new UnSupportedTypeForUnitTestOnly[1];
            var target = new DataAndLayout <UnSupportedTypeForUnitTestOnly>(data, new FastAccess(new Layout(new int[] { }, 0, new int[] { })));

            // action
            var canUse = VectorOps.CanUse(target);

            // assert
            Assert.IsFalse(canUse);
        }
Exemplo n.º 5
0
        public void CanUse_CanUseBothSrc1AndSrc2_ReturnTrue()
        {
            // arrange
            var target = new DataAndLayout <int>(new int[10], new FastAccess(new Layout(new int[] { 10 }, 0, new int[] { 1 })));
            var src1   = new DataAndLayout <int>(new int[10], new FastAccess(new Layout(new int[] { 10 }, 0, new int[] { 1 })));
            var src2   = new DataAndLayout <int>(new int[10], new FastAccess(new Layout(new int[] { 10 }, 0, new int[] { 1 })));

            // action
            var canUse = VectorOps.CanUse(target, src1, src2);

            // assert
            Assert.IsTrue(canUse);
        }
Exemplo n.º 6
0
        public void CanUse_CanNotUseSrc1Only_ReturnFalse()
        {
            // arrange
            var target = new DataAndLayout <int>(new int[10], new FastAccess(new Layout(new int[] { 10 }, 0, new int[] { 1 })));
            var src2   = new DataAndLayout <int>(new int[10], new FastAccess(new Layout(new int[] { 10 }, 0, new int[] { 1 })));

            const int NotContinuousStride = 2;
            var       src1 = new DataAndLayout <int>(new int[20], new FastAccess(new Layout(new int[] { 10 }, 0, new int[] { NotContinuousStride })));

            // action
            var canUse = VectorOps.CanUse(target, src1, src2);

            // assert
            Assert.IsFalse(canUse);
        }