public void CreateSpan() { ulong msize = (ulong)(ArraySize * JemUtil.SizeOfStruct <T>()); IntPtr ptr = Jem.Malloc(msize); unsafe { Span <T> s = new Span <T>(ptr.ToPointer(), ArraySize); } Jem.Free(ptr); }
public void FillSpan() { T fill = GetArrayFillValue(); ulong msize = (ulong)(ArraySize * JemUtil.SizeOfStruct <T>()); IntPtr ptr = Jem.Malloc(msize); Span <T> s = JemUtil.PtrToSpan <T>(ptr, ArraySize); s.Fill(fill); T r = s[ArraySize / 2]; Jem.Free(ptr); }
public void CanVectorize() { Span <byte> s = Employees.GetSpan <byte>(); int size = JemUtil.SizeOfStruct <TestUDT>(); /* * for (int i = 0; i < Employees.Length; i+= size * Employees[i].) * { * * //s.Slice * * } */ }