Esempio n. 1
0
 public override Volume <double> SameAs(VolumeStorage <double> example, Shape shape)
 {
     if (example is NcwhVolumeStorage <double> )
     {
         return(new Volume(new NcwhVolumeStorage <double>(shape)));
     }
     throw new NotImplementedException();
 }
Esempio n. 2
0
        public void BuildVolumeFromStorageAndShape()
        {
            var shape   = new Shape(2, 2);
            var storage = new VolumeStorage(new[] { 1.0, 2.0, 3.0, 4.0 }, shape, GpuContext.Default);
            var volume  = BuilderInstance <double> .Volume.Build(storage, shape);

            Assert.IsTrue(storage.ToArray().SequenceEqual(volume.Storage.ToArray()));
        }
Esempio n. 3
0
 public override Volume <double> Build(VolumeStorage <double> storage, Shape shape)
 {
     if (storage is NcwhVolumeStorage <double> )
     {
         return(new Volume(new NcwhVolumeStorage <double>(storage.ToArray(), shape)));
     }
     throw new NotImplementedException();
 }
        public override Volume <float> SameAs(VolumeStorage <float> example, float value, Shape shape)
        {
            if (example is NcwhVolumeStorage <float> )
            {
                return(new Volume(new NcwhVolumeStorage <float>(new float[shape.TotalLength].Populate(value), shape)));
            }

            throw new NotImplementedException();
        }
Esempio n. 5
0
        public override Volume <double> Build(VolumeStorage <double> storage, Shape shape)
        {
            if (storage is NcwhVolumeStorage <double> ncwh)
            {
                return(new Volume(ncwh.ReShape(shape)));
            }

            throw new NotImplementedException();
        }
        public override Volume <float> Build(VolumeStorage <float> storage, Shape shape)
        {
            var ncwh = storage as NcwhVolumeStorage <float>;

            if (ncwh != null)
            {
                return(new Volume(ncwh.ReShape(shape)));
            }

            throw new NotImplementedException();
        }
Esempio n. 7
0
        public void ClearOnHost()
        {
            const int l       = 4080;
            var       shape   = new Shape(l);
            var       data    = new double[l].Populate(1.0);
            var       storage = new VolumeStorage(data, shape, GpuContext.Default);

            //Clear
            storage.Clear();

            // Copy back to host
            storage.CopyToHost();
            Assert.IsTrue(storage.ToArray().All(o => o == 0.0));
        }
Esempio n. 8
0
        public void CopyToHostAndDevice()
        {
            const int l       = 4080;
            var       shape   = new Shape(l);
            var       data    = new double[l].Populate(1.0);
            var       storage = new VolumeStorage(data, shape, GpuContext.Default);

            Assert.IsTrue(data.SequenceEqual(storage.ToArray()));
            Assert.AreEqual(DataLocation.Host, storage.Location);

            // Copy to device
            storage.CopyToDevice();
            Assert.AreEqual(DataLocation.Device, storage.Location);

            // Copy back to host
            storage.CopyToHost();
            Assert.IsTrue(data.SequenceEqual(storage.ToArray()));
            Assert.AreEqual(DataLocation.Host, storage.Location);
        }
Esempio n. 9
0
 public Volume(VolumeStorage <double> storage) : base(storage)
 {
 }
Esempio n. 10
0
 internal Volume(VolumeStorage <float> storage) : base(storage)
 {
 }
Esempio n. 11
0
 internal Volume(VolumeStorage <double> storage) : base(storage)
 {
 }
Esempio n. 12
0
 public Volume(VolumeStorage <float> storage) : base(storage)
 {
 }