//[TestMethod] public void CheckChangeTensorLayout2D() { var strg2DCpy = (NDStorage)strg2D.Clone(); Assert.IsTrue(Enumerable.SequenceEqual(strg2DCpy.Shape.Dimensions, new int[] { 3, 3 })); Assert.IsTrue(Enumerable.SequenceEqual(strg2DCpy.GetData <Int64>(), new Int64[] { 0, 3, 6, 1, 4, 7, 2, 5, 8 })); Assert.IsTrue(Enumerable.SequenceEqual(strg2DCpy.Shape.Dimensions, new int[] { 3, 3 })); Assert.IsTrue(Enumerable.SequenceEqual(strg2DCpy.GetData <Int64>(), strg2D.GetData <Int64>())); strg2DCpy = (NDStorage)strg2DNonFull.Clone(); Assert.IsTrue(Enumerable.SequenceEqual(strg2DCpy.Shape.Dimensions, new int[] { 5, 2 })); Assert.IsTrue(Enumerable.SequenceEqual(strg2DCpy.GetData <Int64>(), new Int64[] { 0, 5, 1, 6, 2, 7, 3, 8, 4, 9 })); Assert.IsTrue(Enumerable.SequenceEqual(strg2DCpy.Shape.Dimensions, new int[] { 5, 2 })); Assert.IsTrue(Enumerable.SequenceEqual(strg2DCpy.GetData <Int64>(), strg2DNonFull.GetData <Int64>())); strg2DCpy = new NDStorage(typeof(Int64)); strg2DCpy.Allocate(new Shape(5, 2)); strg2DCpy.SetData(strg2DNonFull.GetData()); Assert.IsTrue(Enumerable.SequenceEqual(strg2DCpy.GetData <Int64>(), new Int64[] { 0, 2, 4, 6, 8, 1, 3, 5, 7, 9 })); }
public void CloneCheck() { var strg1DCpy = (NDStorage)strg1D.Clone(); Assert.IsTrue(strg1DCpy.DType == strg1DCpy.GetData().GetType().GetElementType()); Assert.IsFalse(strg1D.GetData() == strg1DCpy.GetData()); Assert.IsTrue(strg1D.GetData().Length == strg1DCpy.GetData().Length); Assert.IsTrue(Enumerable.SequenceEqual(strg1DCpy.GetData <double>(), strg1D.GetData <double>())); }
public void CheckChangeTensorLayout3D() { var strg3DCpy = (NDStorage)strg3D.Clone(); Assert.IsTrue(strg3DCpy.TensorLayout == 1); strg3DCpy.ChangeTensorLayout(2); Assert.IsTrue(strg3DCpy.TensorLayout == 2); Assert.IsTrue(strg3DCpy.Shape.TensorLayout == 2); Assert.IsTrue(Enumerable.SequenceEqual(strg3DCpy.Shape.Dimensions, new int[] { 2, 2, 2 })); Assert.IsTrue(Enumerable.SequenceEqual(strg3DCpy.GetData <Complex>(), new Complex[] { 1, 5, 3, 7, 2, 6, 4, 8 })); strg3DCpy.ChangeTensorLayout(1); Assert.IsTrue(strg3DCpy.TensorLayout == 1); Assert.IsTrue(strg3DCpy.Shape.TensorLayout == 1); Assert.IsTrue(Enumerable.SequenceEqual(strg3DCpy.Shape.Dimensions, new int[] { 2, 2, 2 })); Assert.IsTrue(Enumerable.SequenceEqual(strg3DCpy.GetData <Complex>(), strg3D.GetData <Complex>())); strg3DCpy = (NDStorage)strg3DNonFull.Clone(); Assert.IsTrue(strg3DCpy.TensorLayout == 1); strg3DCpy.ChangeTensorLayout(2); Assert.IsTrue(strg3DCpy.TensorLayout == 2); Assert.IsTrue(strg3DCpy.Shape.TensorLayout == 2); var expectedValues = new Complex[] { 1, 7, 13, 19, 3, 9, 15, 21, 5, 11, 17, 23, 2, 8, 14, 20, 4, 10, 16, 22, 6, 12, 18, 24 }; Assert.IsTrue(Enumerable.SequenceEqual(strg3DCpy.Shape.Dimensions, new int[] { 2, 3, 4 })); Assert.IsTrue(Enumerable.SequenceEqual(strg3DCpy.GetData <Complex>(), expectedValues)); strg3DCpy.ChangeTensorLayout(1); Assert.IsTrue(strg3DCpy.TensorLayout == 1); Assert.IsTrue(strg3DCpy.Shape.TensorLayout == 1); Assert.IsTrue(Enumerable.SequenceEqual(strg3DCpy.Shape.Dimensions, new int[] { 2, 3, 4 })); Assert.IsTrue(Enumerable.SequenceEqual(strg3DCpy.GetData <Complex>(), strg3DNonFull.GetData <Complex>())); }