internal static void ArrayViewAlignmentKernel <T>( Index1 index, ArrayView <T> data, ArrayView <long> prefixLength, ArrayView <long> mainLength, int alignmentInBytes, T element) where T : unmanaged { var(prefix, main) = data.AlignTo(alignmentInBytes); prefixLength[index] = prefix.Length; mainLength[index] = main.Length; if (index < prefix.Length) { prefix[index] = element; } Trace.Assert(main.Length > 0); main[index] = element; }