private static void LzmaEnc_WriteProperties(Master.LZMA.CLzmaEncProps settings, ImmutableArray<byte>.Builder props) { settings.LzmaEncProps_Normalize(); uint dictSize = settings.mDictSize; props.Add((byte)((settings.mPB * 5 + settings.mLP) * 9 + settings.mLC)); for (int i = 11; i <= 30; i++) { if (dictSize <= (2u << i)) { dictSize = (2u << i); break; } if (dictSize <= (3u << i)) { dictSize = (3u << i); break; } } for (int i = 0; i < 4; i++) props.Add((byte)(dictSize >> (8 * i))); }