public void WriteAndReadStorageDoublesViaDiskFile() { const int size = 10; var file = new DiskFile("test1A.dat", "rwb"); Assert.NotNull(file); Assert.True(file.CanWrite); var storage0 = new DoubleTensor.DoubleStorage(size); for (var i = 0; i < size; ++i) { storage0[i] = (double)i; } file.WriteDoubles(storage0); Assert.Equal(size * sizeof(double), file.Position); file.Seek(0); var storage1 = new DoubleTensor.DoubleStorage(size); var rd = file.ReadDoubles(storage1); Assert.Equal(rd, size); Assert.Equal(size * sizeof(double), file.Position); for (var i = 0; i < rd; ++i) { Assert.Equal(storage0[i], storage1[i]); } file.Close(); Assert.False(file.IsOpen); }
/// <summary> /// Write doubles to the file from the given storage. /// </summary> /// <param name="storage">A storage object fetch data from.</param> /// <returns>The number of doubles written.</returns> public long WriteDoubles(DoubleTensor.DoubleStorage storage) { return(THFile_writeDouble(this.handle, storage.handle)); }
/// <summary> /// Read doubles from the file into the given storage. /// </summary> /// <param name="storage">A storage object to read data into.</param> /// <returns>The number of doubles read.</returns> public long ReadDoubles(DoubleTensor.DoubleStorage storage) { return(THFile_readDouble(this.handle, storage.handle)); }