public void CheckChangeTensorLayout2D() { var strg2DCpy = (UnmanagedStorage)strg2D.Clone(); Assert.IsTrue(Enumerable.SequenceEqual(strg2DCpy.Shape.Dimensions, new int[] { 3, 3 })); Assert.IsTrue(Enumerable.SequenceEqual(strg2DCpy.GetData <long>(), new long[] { 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 <long>(), strg2D.GetData <long>())); strg2DCpy = (UnmanagedStorage)strg2DNonFull.Clone(); Assert.IsTrue(Enumerable.SequenceEqual(strg2DCpy.Shape.Dimensions, new int[] { 5, 2 })); Assert.IsTrue(Enumerable.SequenceEqual(strg2DCpy.GetData <long>(), new long[] { 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 <long>(), strg2DNonFull.GetData <long>())); strg2DCpy = new UnmanagedStorage(typeof(long)); strg2DCpy.Allocate(new Shape(5, 2)); strg2DCpy.ReplaceData(strg2DNonFull.GetData()); Assert.IsTrue(Enumerable.SequenceEqual(strg2DCpy.GetData <long>(), new long[] { 0, 2, 4, 6, 8, 1, 3, 5, 7, 9 })); }
public unsafe void CloneCheck() { var l = strg1D; var r = strg1D.Clone(); ReferenceEquals(l, r).Should().BeFalse(); l.DType.Should().Be(r.DType); (l.InternalArray.Address != r.InternalArray.Address).Should().BeTrue(); l.Count.Should().Be(r.Count); l.Shape.Should().Be(r.Shape); }