Changed some formatting
This commit is contained in:
parent
a6e8ced7f7
commit
b5b363ae9f
3 changed files with 23 additions and 19 deletions
|
|
@ -44,7 +44,7 @@ public static class IntScanner
|
|||
{
|
||||
var vData = Avx2.LoadVector256(ptr + i);
|
||||
var vResult = Avx2.CompareGreaterThan(vData, vTarget);
|
||||
|
||||
|
||||
// MoveMask creates a 32-bit integer from the most significant bit of each byte.
|
||||
var mask = (uint)Avx2.MoveMask(vResult.AsByte());
|
||||
|
||||
|
|
@ -73,7 +73,7 @@ public static class IntScanner
|
|||
fixed (int* ptr = keys)
|
||||
{
|
||||
var vData = Avx512F.LoadVector512(ptr + i);
|
||||
|
||||
|
||||
// Vector512 API is used directly here to cleanly get the mask
|
||||
var mask = Vector512.GreaterThanOrEqual(vData, vTarget);
|
||||
|
||||
|
|
@ -88,7 +88,7 @@ public static class IntScanner
|
|||
return LinearScan(keys.Slice(i), target) + i;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static int FindFirstGreater(ReadOnlySpan<int> keys, int target)
|
||||
{
|
||||
if (!Avx2.IsSupported || keys.Length < 8)
|
||||
|
|
@ -107,7 +107,7 @@ public static class IntScanner
|
|||
return i;
|
||||
return keys.Length;
|
||||
}
|
||||
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
private static unsafe int ScanAvx2Greater(ReadOnlySpan<int> keys, int target)
|
||||
{
|
||||
|
|
@ -122,7 +122,7 @@ public static class IntScanner
|
|||
{
|
||||
var vData = Avx2.LoadVector256(ptr + i);
|
||||
var vResult = Avx2.CompareGreaterThan(vData, vTarget);
|
||||
|
||||
|
||||
var mask = (uint)Avx2.MoveMask(vResult.AsByte());
|
||||
|
||||
if (mask != 0)
|
||||
|
|
@ -135,7 +135,7 @@ public static class IntScanner
|
|||
return LinearScanGreater(keys.Slice(i), target) + i;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
private static unsafe int ScanAvx512Greater(ReadOnlySpan<int> keys, int target)
|
||||
{
|
||||
var vTarget = Vector512.Create(target);
|
||||
|
|
@ -147,7 +147,7 @@ public static class IntScanner
|
|||
fixed (int* ptr = keys)
|
||||
{
|
||||
var vData = Avx512F.LoadVector512(ptr + i);
|
||||
|
||||
|
||||
// Use GreaterThan instead of GreaterThanOrEqual
|
||||
var mask = Vector512.GreaterThan(vData, vTarget);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue