示例#1
0
        public void AXPYTest(float?value)
        {
            Vector <float> x;
            Vector <float> y;
            float *        xPtr;
            float *        yPtr;

            GetVectors(bytes, out x, out y, out xPtr, out yPtr);
            BLAS.AXPY(1, x, y);
            Assert.IsTrue(AreEqual(2.4, y.Storage[1], delta));
            Assert.IsTrue(AreEqual(2.6, y.Storage[4], delta));
            BLAS.AXPY(1, x.Descriptor, xPtr + x.Offset, y.Descriptor, yPtr + y.Offset);
            Assert.IsTrue(AreEqual(2.4, yPtr[1], delta));
            Assert.IsTrue(AreEqual(2.6, yPtr[4], delta));

            GetVectors(bytes, out x, out y, out xPtr, out yPtr);
            BLAS.AXPY(1, y, x);
            Assert.IsTrue(AreEqual(2.4, x.Storage[0], delta));
            Assert.IsTrue(AreEqual(2.6, x.Storage[1], delta));
            BLAS.AXPY(1, y.Descriptor, yPtr + y.Offset, x.Descriptor, xPtr + x.Offset);
            Assert.IsTrue(AreEqual(2.4, xPtr[0], delta));
            Assert.IsTrue(AreEqual(2.6, xPtr[1], delta));
        }