Пример #1
0
 public static unsafe ZlibError Pack(Span <byte> dest, ref ulong destLength, ReadOnlySpan <byte> source, ulong sourceLength,
                                     ZlibQuality quality)
 {
     fixed(byte *dPtr = &MemoryMarshal.GetReference(dest), sPtr = &MemoryMarshal.GetReference(source))
     {
         return(Compressor.Compress(Unsafe.AsRef <int>(dPtr), ref destLength, Unsafe.AsRef <int>(sPtr), sourceLength, quality));
     }
 }
Пример #2
0
        public static unsafe ZlibError Pack(Span <byte> dest, ref int destLength, ReadOnlySpan <byte> source, int sourceLength,
                                            ZlibQuality quality)
        {
            var destLengthLong = (ulong)destLength;

            fixed(byte *dPtr = &MemoryMarshal.GetReference(dest), sPtr = &MemoryMarshal.GetReference(source))
            {
                var e = Compressor.Compress(Unsafe.AsRef <int>(dPtr), ref destLengthLong, Unsafe.AsRef <int>(sPtr),
                                            (ulong)sourceLength, quality);

                destLength = (int)destLengthLong;
                return(e);
            }
        }