Форматирование

This commit is contained in:
Alexander Zhirov 2025-09-05 02:45:02 +03:00
parent 4e7f7ecd60
commit 57f9ada9c9
Signed by: alexander
GPG key ID: C8D8BE544A27C511

View file

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