|
@@ -24,7 +24,9 @@
|
|
|
|
|
|
**********************************************************************}
|
|
|
|
|
|
+{$IFNDEF FPC_DOTTEDUNITS}
|
|
|
unit Generics.Defaults;
|
|
|
+{$ENDIF FPC_DOTTEDUNITS}
|
|
|
|
|
|
{$MODE DELPHI}{$H+}
|
|
|
{$POINTERMATH ON}
|
|
@@ -38,8 +40,13 @@ unit Generics.Defaults;
|
|
|
|
|
|
interface
|
|
|
|
|
|
+{$IFDEF FPC_DOTTEDUNITS}
|
|
|
+uses
|
|
|
+ System.Classes, System.SysUtils, System.Generics.Hashes, System.TypInfo, System.Variants, System.Math, System.Generics.Strings, System.Generics.Helpers;
|
|
|
+{$ELSE FPC_DOTTEDUNITS}
|
|
|
uses
|
|
|
Classes, SysUtils, Generics.Hashes, TypInfo, Variants, Math, Generics.Strings, Generics.Helpers;
|
|
|
+{$ENDIF FPC_DOTTEDUNITS}
|
|
|
|
|
|
type
|
|
|
IComparer<T> = interface
|
|
@@ -1169,7 +1176,7 @@ end;
|
|
|
|
|
|
class function TCompare.Integer(const ALeft, ARight: Integer): Integer;
|
|
|
begin
|
|
|
- Result := Math.CompareValue(ALeft, ARight);
|
|
|
+ Result := {$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Math.CompareValue(ALeft, ARight);
|
|
|
end;
|
|
|
|
|
|
class function TCompare.Int8(const ALeft, ARight: Int8): Integer;
|
|
@@ -1733,7 +1740,7 @@ begin
|
|
|
if LMantissa = 0 then
|
|
|
LMantissa := Abs(LMantissa);
|
|
|
|
|
|
- Result := HASH_FACTORY.GetHashCode(@LMantissa, SizeOf(Math.Float), 0);
|
|
|
+ Result := HASH_FACTORY.GetHashCode(@LMantissa, SizeOf({$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Math.Float), 0);
|
|
|
Result := HASH_FACTORY.GetHashCode(@LExponent, SizeOf(System.Integer), Result);
|
|
|
end;
|
|
|
|
|
@@ -1747,7 +1754,7 @@ begin
|
|
|
if LMantissa = 0 then
|
|
|
LMantissa := Abs(LMantissa);
|
|
|
|
|
|
- Result := HASH_FACTORY.GetHashCode(@LMantissa, SizeOf(Math.Float), 0);
|
|
|
+ Result := HASH_FACTORY.GetHashCode(@LMantissa, SizeOf({$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Math.Float), 0);
|
|
|
Result := HASH_FACTORY.GetHashCode(@LExponent, SizeOf(System.Integer), Result);
|
|
|
end;
|
|
|
|
|
@@ -1761,7 +1768,7 @@ begin
|
|
|
if LMantissa = 0 then
|
|
|
LMantissa := Abs(LMantissa);
|
|
|
|
|
|
- Result := HASH_FACTORY.GetHashCode(@LMantissa, SizeOf(Math.Float), 0);
|
|
|
+ Result := HASH_FACTORY.GetHashCode(@LMantissa, SizeOf({$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Math.Float), 0);
|
|
|
Result := HASH_FACTORY.GetHashCode(@LExponent, SizeOf(System.Integer), Result);
|
|
|
end;
|
|
|
|
|
@@ -1943,7 +1950,7 @@ begin
|
|
|
if LMantissa = 0 then
|
|
|
LMantissa := Abs(LMantissa);
|
|
|
|
|
|
- EXTENDED_HASH_FACTORY.GetHashList(@LMantissa, SizeOf(Math.Float), AHashList, []);
|
|
|
+ EXTENDED_HASH_FACTORY.GetHashList(@LMantissa, SizeOf({$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Math.Float), AHashList, []);
|
|
|
EXTENDED_HASH_FACTORY.GetHashList(@LExponent, SizeOf(System.Integer), AHashList, [ghloHashListAsInitData]);
|
|
|
end;
|
|
|
|
|
@@ -1957,7 +1964,7 @@ begin
|
|
|
if LMantissa = 0 then
|
|
|
LMantissa := Abs(LMantissa);
|
|
|
|
|
|
- EXTENDED_HASH_FACTORY.GetHashList(@LMantissa, SizeOf(Math.Float), AHashList, []);
|
|
|
+ EXTENDED_HASH_FACTORY.GetHashList(@LMantissa, SizeOf({$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Math.Float), AHashList, []);
|
|
|
EXTENDED_HASH_FACTORY.GetHashList(@LExponent, SizeOf(System.Integer), AHashList, [ghloHashListAsInitData]);
|
|
|
end;
|
|
|
|
|
@@ -1971,7 +1978,7 @@ begin
|
|
|
if LMantissa = 0 then
|
|
|
LMantissa := Abs(LMantissa);
|
|
|
|
|
|
- EXTENDED_HASH_FACTORY.GetHashList(@LMantissa, SizeOf(Math.Float), AHashList, []);
|
|
|
+ EXTENDED_HASH_FACTORY.GetHashList(@LMantissa, SizeOf({$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Math.Float), AHashList, []);
|
|
|
EXTENDED_HASH_FACTORY.GetHashList(@LExponent, SizeOf(System.Integer), AHashList, [ghloHashListAsInitData]);
|
|
|
end;
|
|
|
|