public unsafe void CopyFrom <T>(AcceleratorStream stream, T source, Index sourceIndex) where T : struct { using (var wrapper = ViewPointerWrapper.Create(ref source)) { var view = new ArrayView <T>(wrapper, 0, 1); cache.CopyFromView(stream, view.Cast <byte>(), sourceIndex); } }
public unsafe void CopyTo <T>(AcceleratorStream stream, out T target, Index targetIndex) where T : struct { target = default; using (var wrapper = ViewPointerWrapper.Create(ref target)) { var view = new ArrayView <T>(wrapper, 0, 1); cache.CopyToView(stream, view.Cast <byte>(), targetIndex); } }