예제 #1
0
        public void InstanceMethodIndex1EntryPoint(int length)
        {
            var instanceHost = new InstaceHost();
            Action <Index1, ArrayView <int> > kernel = instanceHost.InstanceKernel;

            using var buffer = Accelerator.Allocate <int>(length);
            Execute(kernel.Method, new Index1((int)buffer.Length), buffer.View);

            var expected =
                Enumerable.Range(instanceHost.InstanceOffset(), length).ToArray();

            Verify(buffer, expected);
        }
예제 #2
0
        public void InstanceMethodIndex3EntryPoint(int length)
        {
            var instanceHost = new InstaceHost();
            Action <Index3, ArrayView <int>, Index3> kernel = instanceHost.InstanceKernel;

            var extent = new Index3(length, length, length);

            using var buffer = Accelerator.Allocate <int>(extent.Size);
            Execute(kernel.Method, extent, buffer.View, extent);

            var expected =
                Enumerable.Range(instanceHost.InstanceOffset(), extent.Size).ToArray();

            Verify(buffer, expected);
        }