#pragma warning restore SA1516 // Elements should be separated by blank line public static void GetSource(int source, SourceLatencyVector2i param, out long value1, out long value2) { Span <long> values = stackalloc long[2]; GetSource(source, param, values); value1 = values[0]; value2 = values[1]; }
public static void GetSource(int source, SourceLatencyVector2i param, out int value1, out int value2, out long value3) { // FIXME: This might result in wrong values, though it seems to be somewhat correct... Span <int> values = stackalloc int[4]; GetSource(source, param, out Unsafe.As <int, long>(ref values[0])); value1 = values[0]; value2 = values[1]; value3 = Unsafe.As <int, long>(ref values[2]); }
public static unsafe void GetSource(int source, SourceLatencyVector2i param, out int value1, out int value2, out long value3) { // FIXME: This might result in wrong values, though it seems to be somewhat correct... var values = stackalloc int[4]; GetSource(source, param, (long *)values); value1 = values[0]; value2 = values[1]; value3 = ((long *)values)[2]; }
public static void GetSource(int source, SourceLatencyVector2i param, Span <long> values) { unsafe { // Beacuse we don't know how this span is allocated we need to fix it fixed(long *ptr = &values[0]) { GetSource(source, param, ptr); } } }
public static void GetSource(int source, SourceLatencyVector2i param, long[] values) => _GetSourcei64vArray(source, param, values);
private static void GetSource(int source, SourceLatencyVector2i param, out long values) => _GetSourcei64vRef(source, param, out values);
#pragma warning disable SA1516 // Elements should be separated by blank line public static unsafe void GetSource(int source, SourceLatencyVector2i param, long *values) => _GetSourcei64vPtr(source, param, values);
public static unsafe void GetSource(int source, SourceLatencyVector2i param, Span <long> values) => GetSource(source, param, out values[0]);