From 57f9ada9c93732e59af06318c3c957467b34d2d7 Mon Sep 17 00:00:00 2001 From: Alexander Zhirov Date: Fri, 5 Sep 2025 02:45:02 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6457e46..1a9e61f 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ FastCDC использует три основных улучшения для ### Шаг 4: Как Работает Алгоритм — Пошагово 1. **Подготовка**: Взять буфер данных (файл как массив байт, длиной n). Установить параметры. Инициализировать хэш (fp = 0) и позицию (i = MinSize — для пропуска мелких фрагментов). - + 2. **Проверка краёв**: Если n ≤ MinSize — весь буфер считается одним чанком. Если n > MaxSize — обрезать до MaxSize. Если n < avg — установить avg = n. 3. **Цикл для маленьких чанков (до avg, строгая маска)**: @@ -91,10 +91,10 @@ ulong fastcdc(ubyte[] src, size_t n, size_t minSize, size_t maxSize, size_t norm if (n <= minSize) return n; if (n > maxSize) n = maxSize; if (n < normalSize) normalSize = n; - + ulong fp = 0; size_t i = minSize; // Пропуск мелких - + // Цикл до normalSize (строгая маска) while (i < normalSize) { fp = (fp << 1) + gear[src[i]]; @@ -103,7 +103,7 @@ ulong fastcdc(ubyte[] src, size_t n, size_t minSize, size_t maxSize, size_t norm } i++; } - + // Цикл после (слабая маска) while (i < n) { fp = (fp << 1) + gear[src[i]]; @@ -112,7 +112,7 @@ ulong fastcdc(ubyte[] src, size_t n, size_t minSize, size_t maxSize, size_t norm } i++; } - + return n; // Достигнут max } ```