Esempio n. 1
0
        /// <summary>
        /// Compress the value into a byte array.
        /// </summary>
        /// <returns></returns>
        public virtual byte[] Compress()
        {
            if (!CompressionEnabled)
            {
                return(GetDefaultSerialization());
            }

            uint range         = GetValueRange();
            uint requiredBytes = Arithmetics <T> .GetRequiredBytes(range, GetSizeOf());

            T compressed = GetCompressedValue();

            byte[] source      = GetDefaultSerialization();
            byte[] destination = new byte[requiredBytes];

            Array.Copy(source, destination, requiredBytes);
            return(destination);
        }