Убрано лишнее
This commit is contained in:
parent
d4996bf416
commit
15f33edd3a
1 changed files with 6 additions and 18 deletions
24
source/app.d
24
source/app.d
|
@ -1,5 +1,4 @@
|
||||||
import std.stdio;
|
import std.stdio;
|
||||||
import std.string;
|
|
||||||
|
|
||||||
// Статическая таблица Gear (256 случайных 64-битных чисел)
|
// Статическая таблица Gear (256 случайных 64-битных чисел)
|
||||||
mixin(import("gear.d"));
|
mixin(import("gear.d"));
|
||||||
|
@ -56,23 +55,14 @@ void main()
|
||||||
size_t totalLength = data.length;
|
size_t totalLength = data.length;
|
||||||
writefln("Общая длина текста (в байтах): %d", totalLength);
|
writefln("Общая длина текста (в байтах): %d", totalLength);
|
||||||
|
|
||||||
// Параметры FastCDC (в байтах, адаптированы для текста)
|
// Параметры FastCDC
|
||||||
size_t minSize = 100; // 100 байт
|
size_t minSize = 100;
|
||||||
size_t normalSize = 200; // 200 байт (цель)
|
size_t normalSize = 200;
|
||||||
size_t maxSize = 500; // 500 байт
|
size_t maxSize = 500;
|
||||||
|
|
||||||
// Маски (для normalSize ~200 байт, log2(200) ≈ 8 бит, уровень нормализации 2)
|
ulong maskS = 0b1111_1111;
|
||||||
// ulong maskS = (1UL << 8) - 1; // 8 бит: 0b11111111
|
|
||||||
// ulong maskL = (1UL << 4) - 1; // 4 бита: 0b1111
|
|
||||||
|
|
||||||
// writefln("1UL: %u\n1UL << 8: %u\n(1UL << 8) - 1: %u", 1UL, 1UL << 8, maskS);
|
|
||||||
// writefln("1UL: %u\n1UL << 4: %u\n(1UL << 4) - 1: %u", 1UL, 1UL << 4, maskL);
|
|
||||||
// writeln();
|
|
||||||
|
|
||||||
ulong maskS = 0b11111111;
|
|
||||||
ulong maskL = 0b1111;
|
ulong maskL = 0b1111;
|
||||||
|
|
||||||
// Разбиение на чанки
|
|
||||||
size_t offset = 0;
|
size_t offset = 0;
|
||||||
size_t chunkNumber = 1;
|
size_t chunkNumber = 1;
|
||||||
|
|
||||||
|
@ -81,11 +71,9 @@ void main()
|
||||||
{
|
{
|
||||||
size_t remaining = totalLength - offset;
|
size_t remaining = totalLength - offset;
|
||||||
size_t chunkSize = fastcdc(data[offset .. $], remaining, minSize, maxSize, normalSize, maskS, maskL);
|
size_t chunkSize = fastcdc(data[offset .. $], remaining, minSize, maxSize, normalSize, maskS, maskL);
|
||||||
// Вывод размера чанка и его содержимого
|
|
||||||
writefln("Чанк %d: %d байт", chunkNumber, chunkSize);
|
writefln("Чанк %d: %d байт", chunkNumber, chunkSize);
|
||||||
string chunkContent = cast(string) data[offset .. offset + chunkSize];
|
string chunkContent = cast(string) data[offset .. offset + chunkSize];
|
||||||
// writefln("Содержимое: %s\n", chunkContent);
|
writefln("Содержимое: %s\n", chunkContent);
|
||||||
writefln("Содержимое: %s\n", chunkContent.length > 50 ? chunkContent[0 .. 50] ~ "..." : chunkContent);
|
|
||||||
offset += chunkSize;
|
offset += chunkSize;
|
||||||
chunkNumber++;
|
chunkNumber++;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue