mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 21:29:19 +02:00
* don't use size specific binary comparers
This commit is contained in:
parent
d40a2dbb12
commit
b0e9b9d705
@ -2141,17 +2141,8 @@ end;
|
|||||||
class function TComparerService.SelectBinaryComparer(ATypeData: PTypeData;
|
class function TComparerService.SelectBinaryComparer(ATypeData: PTypeData;
|
||||||
ASize: SizeInt): Pointer;
|
ASize: SizeInt): Pointer;
|
||||||
begin
|
begin
|
||||||
case ASize of
|
|
||||||
1: Exit(@Comparer_UInt8_Instance);
|
|
||||||
2: Exit(@Comparer_UInt16_Instance);
|
|
||||||
4: Exit(@Comparer_UInt32_Instance);
|
|
||||||
{$IFDEF CPU64}
|
|
||||||
8: Exit(@Comparer_UInt64_Instance)
|
|
||||||
{$ENDIF}
|
|
||||||
else
|
|
||||||
Result := CreateInterface(@Comparer_Binary_VMT, ASize);
|
Result := CreateInterface(@Comparer_Binary_VMT, ASize);
|
||||||
end;
|
end;
|
||||||
end;
|
|
||||||
|
|
||||||
class function TComparerService.SelectDynArrayComparer(ATypeData: PTypeData; ASize: SizeInt): Pointer;
|
class function TComparerService.SelectDynArrayComparer(ATypeData: PTypeData; ASize: SizeInt): Pointer;
|
||||||
begin
|
begin
|
||||||
@ -2254,17 +2245,8 @@ end;
|
|||||||
class function THashService<T>.SelectBinaryEqualityComparer(ATypeData: PTypeData;
|
class function THashService<T>.SelectBinaryEqualityComparer(ATypeData: PTypeData;
|
||||||
ASize: SizeInt): Pointer;
|
ASize: SizeInt): Pointer;
|
||||||
begin
|
begin
|
||||||
case ASize of
|
|
||||||
1: Exit(@FEqualityComparer_UInt8_Instance);
|
|
||||||
2: Exit(@FEqualityComparer_UInt16_Instance);
|
|
||||||
4: Exit(@FEqualityComparer_UInt32_Instance);
|
|
||||||
{$IFDEF CPU64}
|
|
||||||
8: Exit(@FEqualityComparer_UInt64_Instance)
|
|
||||||
{$ENDIF}
|
|
||||||
else
|
|
||||||
Result := CreateInterface(@FEqualityComparer_Binary_VMT, ASize);
|
Result := CreateInterface(@FEqualityComparer_Binary_VMT, ASize);
|
||||||
end;
|
end;
|
||||||
end;
|
|
||||||
|
|
||||||
class function THashService<T>.SelectDynArrayEqualityComparer(
|
class function THashService<T>.SelectDynArrayEqualityComparer(
|
||||||
ATypeData: PTypeData; ASize: SizeInt): Pointer;
|
ATypeData: PTypeData; ASize: SizeInt): Pointer;
|
||||||
@ -2467,17 +2449,8 @@ end;
|
|||||||
class function TExtendedHashService<T>.SelectBinaryEqualityComparer(ATypeData: PTypeData;
|
class function TExtendedHashService<T>.SelectBinaryEqualityComparer(ATypeData: PTypeData;
|
||||||
ASize: SizeInt): Pointer;
|
ASize: SizeInt): Pointer;
|
||||||
begin
|
begin
|
||||||
case ASize of
|
|
||||||
1: Exit(@FExtendedEqualityComparer_UInt8_Instance);
|
|
||||||
2: Exit(@FExtendedEqualityComparer_UInt16_Instance);
|
|
||||||
4: Exit(@FExtendedEqualityComparer_UInt32_Instance);
|
|
||||||
{$IFDEF CPU64}
|
|
||||||
8: Exit(@FExtendedEqualityComparer_UInt64_Instance)
|
|
||||||
{$ENDIF}
|
|
||||||
else
|
|
||||||
Result := CreateInterface(@FExtendedEqualityComparer_Binary_VMT, ASize);
|
Result := CreateInterface(@FExtendedEqualityComparer_Binary_VMT, ASize);
|
||||||
end;
|
end;
|
||||||
end;
|
|
||||||
|
|
||||||
class function TExtendedHashService<T>.SelectDynArrayEqualityComparer(
|
class function TExtendedHashService<T>.SelectDynArrayEqualityComparer(
|
||||||
ATypeData: PTypeData; ASize: SizeInt): Pointer;
|
ATypeData: PTypeData; ASize: SizeInt): Pointer;
|
||||||
|
Loading…
Reference in New Issue
Block a user