public void WriteAndReadStorageFloatsViaDiskFile() { const int size = 10; var file = new DiskFile("test19.dat", "rwb"); Assert.NotNull(file); Assert.True(file.CanWrite); var storage0 = new FloatTensor.FloatStorage(size); for (var i = 0; i < size; ++i) { storage0[i] = (float)i; } file.WriteFloats(storage0); Assert.Equal(size * sizeof(float), file.Position); file.Seek(0); var storage1 = new FloatTensor.FloatStorage(size); var rd = file.ReadFloats(storage1); Assert.Equal(rd, size); Assert.Equal(size * sizeof(float), file.Position); for (var i = 0; i < rd; ++i) { Assert.Equal(storage0[i], storage1[i]); } file.Close(); Assert.False(file.IsOpen); }
public void GetFloatTensorData() { const int size = 10; var storage0 = new FloatTensor.FloatStorage(2 * size); var x1 = new FloatTensor(size); var x2 = FloatTensor.NewWithStorage1d(storage0, UIntPtr.Zero, size, 1); var x3 = x2.NewWithStorage1d((UIntPtr)size, size, 1); Assert.NotEqual(IntPtr.Zero, x1.Data); Assert.NotEqual(IntPtr.Zero, x2.Data); Assert.NotEqual(IntPtr.Zero, x3.Data); Assert.NotEqual(IntPtr.Zero, x1.Storage as object); Assert.NotEqual(IntPtr.Zero, x2.Storage as object); Assert.NotEqual(IntPtr.Zero, x3.Storage as object); }
/// <summary> /// Write floats to the file from the given storage. /// </summary> /// <param name="storage">A storage object fetch data from.</param> /// <returns>The number of floats written.</returns> public long WriteFloats(FloatTensor.FloatStorage storage) { return(THFile_writeFloat(this.handle, storage.handle)); }
/// <summary> /// Read floats from the file into the given storage. /// </summary> /// <param name="storage">A storage object to read data into.</param> /// <returns>The number of floats read.</returns> public long ReadFloats(FloatTensor.FloatStorage storage) { return(THFile_readFloat(this.handle, storage.handle)); }