Viktor Stilton, тогда точки многоугольника не могут все лежать на поверхности. Либо это не центр многоугольника, а проекция центра на поверхность шара и тогда возникает вопрос что такое r.
Bright144,
потому что у чисел < 64 длина 6 бит. Добавляем 1 и убираем 3 получается 4 бита, что максимум 15.
Числа > 255 имеют 9 бит, добавляем 1 убираем 2 получаем 8 бит, минимум 128.
Vitsliputsli,
> 4М это меньше, чем 8М, а значит уже не полная копия.
git по умолчанию сжимает файлы
И вообще спор изначально было из-за неверного утверждения «Гит хранит разницу состояний между коммитами – diff».
Гит хранит blob-ы — объекты с данными. Для уменьшения занимаемого места он может их компактно упаковывать в специальные файлы. Но при этом нигде нет специального хранения «разницы между коммитами».
Тип string[] | Categories[] означает что у тебя в массиве либо только строки, либо только объекты. Если они должны быть вперемешку, то тип (string | Categories)[].
Но вообще лучше бы не смешивать типы в массиве без надобности.
Тем не менее, git не хранит разницу между версиями. Pack-файлы это, грубо говоря, архивы, точно так же как какой-нибудь архиватор при упаковке нескольких одинаковых файлов может это понять и переиспользовать повторяющиеся куски.
При построении разницы между версиями git всё равно будет сравнивать полные файлы.