private static void ConvertDecimal128(ReadOnlySpan <decimal> source, Span <FixedLenByteArray> destination, decimal multiplier, ByteBuffer byteBuffer) { for (int i = 0; i < source.Length; ++i) { destination[i] = LogicalWrite.FromDecimal(source[i], multiplier, byteBuffer); } }
private static void ConvertDecimal128(ReadOnlySpan <decimal?> source, Span <short> defLevels, Span <FixedLenByteArray> destination, decimal multiplier, short nullLevel, ByteBuffer byteBuffer) { for (int i = 0, dst = 0; i < source.Length; ++i) { var value = source[i]; if (value == null) { defLevels[i] = nullLevel; } else { destination[dst++] = LogicalWrite.FromDecimal(value.Value, multiplier, byteBuffer); defLevels[i] = (short)(nullLevel + 1); } } }