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 } ```