Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 /// <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));
 }
Esempio n. 3
0
 /// <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));
 }