Skip to content

Commit 0cbf842

Browse files
committed
Constant conditional operators with shifts
1 parent 0b0d269 commit 0cbf842

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

src/ZstdSharp/Unsafe/ZstdDecompressBlock.cs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -64,19 +64,19 @@ private static void ZSTD_allocateLiteralsBuffer(ZSTD_DCtx_s* dctx, void* dst, nu
6464
dctx->litBufferEnd = dctx->litBuffer + litSize;
6565
dctx->litBufferLocation = ZSTD_litLocation_e.ZSTD_in_dst;
6666
}
67-
else if (litSize <= (1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10))
67+
else if (litSize <= 1 << 16)
6868
{
6969
dctx->litBuffer = dctx->litExtraBuffer;
7070
dctx->litBufferEnd = dctx->litBuffer + litSize;
7171
dctx->litBufferLocation = ZSTD_litLocation_e.ZSTD_not_in_dst;
7272
}
7373
else
7474
{
75-
assert(blockSizeMax > (1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10));
75+
assert(blockSizeMax > 1 << 16);
7676
if (splitImmediately != 0)
7777
{
78-
dctx->litBuffer = (byte*)dst + expectedWriteSize - litSize + (1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10) - 32;
79-
dctx->litBufferEnd = dctx->litBuffer + litSize - (1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10);
78+
dctx->litBuffer = (byte*)dst + expectedWriteSize - litSize + (1 << 16) - 32;
79+
dctx->litBufferEnd = dctx->litBuffer + litSize - (1 << 16);
8080
}
8181
else
8282
{
@@ -222,10 +222,10 @@ private static nuint ZSTD_decodeLiteralsBlock(ZSTD_DCtx_s* dctx, void* src, nuin
222222

223223
if (dctx->litBufferLocation == ZSTD_litLocation_e.ZSTD_split)
224224
{
225-
assert(litSize > (1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10));
226-
memcpy(dctx->litExtraBuffer, dctx->litBufferEnd - (1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10), 1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10);
227-
memmove(dctx->litBuffer + (1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10) - 32, dctx->litBuffer, litSize - (1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10));
228-
dctx->litBuffer += (1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10) - 32;
225+
assert(litSize > 1 << 16);
226+
memcpy(dctx->litExtraBuffer, dctx->litBufferEnd - (1 << 16), 1 << 16);
227+
memmove(dctx->litBuffer + (1 << 16) - 32, dctx->litBuffer, litSize - (1 << 16));
228+
dctx->litBuffer += (1 << 16) - 32;
229229
dctx->litBufferEnd -= 32;
230230
assert(dctx->litBufferEnd <= (byte*)dst + blockSizeMax);
231231
}
@@ -296,8 +296,8 @@ private static nuint ZSTD_decodeLiteralsBlock(ZSTD_DCtx_s* dctx, void* src, nuin
296296

297297
if (dctx->litBufferLocation == ZSTD_litLocation_e.ZSTD_split)
298298
{
299-
memcpy(dctx->litBuffer, istart + lhSize, (uint)(litSize - (1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10)));
300-
memcpy(dctx->litExtraBuffer, istart + lhSize + litSize - (1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10), 1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10);
299+
memcpy(dctx->litBuffer, istart + lhSize, (uint)(litSize - (1 << 16)));
300+
memcpy(dctx->litExtraBuffer, istart + lhSize + litSize - (1 << 16), 1 << 16);
301301
}
302302
else
303303
{
@@ -367,8 +367,8 @@ private static nuint ZSTD_decodeLiteralsBlock(ZSTD_DCtx_s* dctx, void* src, nuin
367367
ZSTD_allocateLiteralsBuffer(dctx, dst, dstCapacity, litSize, streaming, expectedWriteSize, 1);
368368
if (dctx->litBufferLocation == ZSTD_litLocation_e.ZSTD_split)
369369
{
370-
memset(dctx->litBuffer, istart[lhSize], (uint)(litSize - (1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10)));
371-
memset(dctx->litExtraBuffer, istart[lhSize], 1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10);
370+
memset(dctx->litBuffer, istart[lhSize], (uint)(litSize - (1 << 16)));
371+
memset(dctx->litExtraBuffer, istart[lhSize], 1 << 16);
372372
}
373373
else
374374
{
@@ -1329,7 +1329,7 @@ private static nuint ZSTD_decompressSequences_bodySplitLitBuffer(ZSTD_DCtx_s* dc
13291329
}
13301330

13311331
litPtr = dctx->litExtraBuffer;
1332-
litBufferEnd = dctx->litExtraBuffer + (1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10);
1332+
litBufferEnd = dctx->litExtraBuffer + (1 << 16);
13331333
dctx->litBufferLocation = ZSTD_litLocation_e.ZSTD_not_in_dst;
13341334
{
13351335
nuint oneSeqSize = ZSTD_execSequence(op, oend, sequence, &litPtr, litBufferEnd, prefixStart, vBase, dictEnd);
@@ -1387,7 +1387,7 @@ private static nuint ZSTD_decompressSequences_bodySplitLitBuffer(ZSTD_DCtx_s* dc
13871387
}
13881388

13891389
litPtr = dctx->litExtraBuffer;
1390-
litBufferEnd = dctx->litExtraBuffer + (1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10);
1390+
litBufferEnd = dctx->litExtraBuffer + (1 << 16);
13911391
dctx->litBufferLocation = ZSTD_litLocation_e.ZSTD_not_in_dst;
13921392
}
13931393

@@ -1757,7 +1757,7 @@ private static nuint ZSTD_decompressSequencesLong_body(ZSTD_DCtx_s* dctx, void*
17571757
}
17581758

17591759
litPtr = dctx->litExtraBuffer;
1760-
litBufferEnd = dctx->litExtraBuffer + (1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10);
1760+
litBufferEnd = dctx->litExtraBuffer + (1 << 16);
17611761
dctx->litBufferLocation = ZSTD_litLocation_e.ZSTD_not_in_dst;
17621762
{
17631763
nuint oneSeqSize = ZSTD_execSequence(op, oend, sequences[seqNb - 8 & 8 - 1], &litPtr, litBufferEnd, prefixStart, dictStart, dictEnd);
@@ -1805,7 +1805,7 @@ private static nuint ZSTD_decompressSequencesLong_body(ZSTD_DCtx_s* dctx, void*
18051805
}
18061806

18071807
litPtr = dctx->litExtraBuffer;
1808-
litBufferEnd = dctx->litExtraBuffer + (1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10);
1808+
litBufferEnd = dctx->litExtraBuffer + (1 << 16);
18091809
dctx->litBufferLocation = ZSTD_litLocation_e.ZSTD_not_in_dst;
18101810
{
18111811
nuint oneSeqSize = ZSTD_execSequence(op, oend, *sequence, &litPtr, litBufferEnd, prefixStart, dictStart, dictEnd);
@@ -1845,7 +1845,7 @@ private static nuint ZSTD_decompressSequencesLong_body(ZSTD_DCtx_s* dctx, void*
18451845
}
18461846

18471847
litPtr = dctx->litExtraBuffer;
1848-
litBufferEnd = dctx->litExtraBuffer + (1 << 16 <= 64 ? 64 : 1 << 16 <= 128 << 10 ? 1 << 16 : 128 << 10);
1848+
litBufferEnd = dctx->litExtraBuffer + (1 << 16);
18491849
}
18501850

18511851
{

0 commit comments

Comments
 (0)