public void WriteAndReadShortTensorViaDiskFile() { const int size = 10; var file = new DiskFile("test1C.dat", "rwb"); Assert.NotNull(file); Assert.True(file.CanWrite); var tensor0 = new ShortTensor(size); for (var i = 0; i < size; ++i) { tensor0[i] = (short)i; } file.WriteTensor(tensor0); Assert.Equal(size * sizeof(short), file.Position); file.Seek(0); var tensor1 = new ShortTensor(size); var rd = file.ReadTensor(tensor1); Assert.Equal(rd, size); Assert.Equal(size * sizeof(short), file.Position); for (var i = 0; i < rd; ++i) { Assert.Equal(tensor1[i], tensor1[i]); } file.Close(); Assert.False(file.IsOpen); }
public void RandomTest() { var res = FloatTensor.Random(new long[] { 2 }); Assert.Equal(new long[] { 2 }, res.Shape); var res1 = ShortTensor.RandomIntegers(10, new long[] { 200 }); Assert.Equal(new long[] { 200 }, res1.Shape); var res2 = IntTensor.RandomIntegers(10, new long[] { 200 }); Assert.Equal(new long[] { 200 }, res2.Shape); var res3 = LongTensor.RandomIntegers(10, new long[] { 200 }); Assert.Equal(new long[] { 200 }, res3.Shape); var res4 = ByteTensor.RandomIntegers(10, new long[] { 200 }); Assert.Equal(new long[] { 200 }, res4.Shape); var res5 = SByteTensor.RandomIntegers(10, new long[] { 200 }); Assert.Equal(new long[] { 200 }, res5.Shape); var res6 = HalfTensor.RandomIntegers(10, new long[] { 200 }); Assert.Equal(new long[] { 200 }, res6.Shape); //var res7 = ComplexHalfTensor.RandomIntegers(10, new long[] { 200 }); //Assert.Equal(new long[] { 200 }, res7.Shape); //var res8 = ComplexFloatTensor.RandomIntegers(10, new long[] { 200 }); //Assert.Equal(new long[] { 200 }, res8.Shape); //var res9 = ComplexDoubleTensor.RandomIntegers(10, new long[] { 200 }); //Assert.Equal(new long[] { 200 }, res9.Shape); }
/// <summary> /// Write shorts to the file from the given short tensor. /// </summary> /// <param name="tensor">A tensor containing data to be written to the file.</param> /// <returns>The number of shorts written.</returns> public long WriteTensor(ShortTensor tensor) { return(THFile_writeShortRaw(this.handle, tensor.Data, tensor.NumElements)); }
/// <summary> /// Read shorts from the file into the given short tensor. /// </summary> /// <param name="tensor">A tensor to place the data in after reading it from the file.</param> /// <returns>The number of shorts read.</returns> public long ReadTensor(ShortTensor tensor) { return(THFile_readShortRaw(this.handle, tensor.Data, tensor.NumElements)); }